|
You are here |
maskray.me | ||
| | | | |
blog.thea.codes
|
|
| | | | | A deep look into the black magic that is linker scripts. | |
| | | | |
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. | |
| | | | |
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. | |
| | | | |
blog.thalheim.io
|
|
| | | No such file or directory: How I stopped worrying and started loving binaries on NixOS. In this article, I will discuss the technical issue of running pre-compiled executables on NixOS, and how we can improve the user experience by making these binaries work seamlessly using nix-ld. One of the key benefits of NixOS is its focus on purity and reproducibility. The operating system is designed to ensure that the system configuration and installed software are always in a known and predictable state. | ||