diff options
author | johannst <johannes.stoelp@gmail.com> | 2021-04-28 23:29:03 +0200 |
---|---|---|
committer | johannst <johannes.stoelp@gmail.com> | 2021-04-28 23:29:03 +0200 |
commit | 48dbe3390c675be71c59d87a6088cb2f61acc48d (patch) | |
tree | 50d43245957144a56e4db44e8a05493c2848ffae /README.md | |
parent | ecb1b4b4d081429b9170e5234eaa314380eda9a7 (diff) | |
download | dynld-48dbe3390c675be71c59d87a6088cb2f61acc48d.tar.gz dynld-48dbe3390c675be71c59d87a6088cb2f61acc48d.zip |
updated README with repo description
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1,4 +1,26 @@ # dynld +This repository contains studies about `process initialization` and `dynamic +linking` on Linux(x86_64). It is mainly used for personal studies, but may be +useful to some random internet user. + +All studies and discussions assume the following environment: +- Arch: `x86_64` +- OS: `Linux Kernel` +- System ABI: `SystemV x86_64 ABI` +- BinFMT: `ELF` + +The studies are structured as follows: +1. [Ch 01 dynamic linking](./01_dynamic_linking): + Brief introduction to dynamic linking. +1. [Ch 02 process initialization](./02_process_init): + Building a `no-std` executable and exploring the initial process state. +1. [Ch 03 dynamic linker skeleton](./03_hello_dynld): + Building a skeleton for the dynamic linker which can run a `statically + linked no-std` executable. +1. [Ch 04 dynld no-std](./04_dynld_nostd): + Building a dynamic linker `dynld` which can initialize the execution + environment for a `no-std` executable with a shared library dependency. + ## License This project is licensed under the [MIT](LICENSE) license. |