aboutsummaryrefslogtreecommitdiff
path: root/01_dynamic_linking
diff options
context:
space:
mode:
authorjohannst <johannes.stoelp@gmail.com>2020-11-25 17:48:51 +0100
committerjohannst <johannes.stoelp@gmail.com>2020-11-25 17:48:51 +0100
commitd59dca0ee1983057f3f03e588fd50f9488ae9fa7 (patch)
treed339780a9bc402ddb3a39821a474928dbe0dadb3 /01_dynamic_linking
parent9e90abfdb0b1b1f270b4ae0e4f5d8742d1f2f472 (diff)
downloaddynld-d59dca0ee1983057f3f03e588fd50f9488ae9fa7.tar.gz
dynld-d59dca0ee1983057f3f03e588fd50f9488ae9fa7.zip
ch01 list few dyn linker tasks
Diffstat (limited to '01_dynamic_linking')
-rw-r--r--01_dynamic_linking/README.md15
1 files changed, 9 insertions, 6 deletions
diff --git a/01_dynamic_linking/README.md b/01_dynamic_linking/README.md
index 6c0dd5d..b80d055 100644
--- a/01_dynamic_linking/README.md
+++ b/01_dynamic_linking/README.md
@@ -20,12 +20,15 @@ over to the mapped program which then executes.
```
A dynamically linked program on the other hand needs to specify a `dynamic
-linker` which is basically a runtime interpreter. The Linux Kernel will additionally load
-that interpreter into the virtual address space and give control to the
-interpreter rather than the user program.
-The interpreter will prepare the execution environment for the user program by
-for example loading dependencies and running initialization routines. After the
-environment is set up the dynamic linker passes control to the user program.
+linker` which is basically a runtime interpreter. The Linux Kernel will
+additionally load that interpreter into the virtual address space and give
+control to the interpreter rather than the user program.
+The interpreter will prepare the execution environment for the user program
+and pass control to it afterwards.
+Typical tasks of the interpreter are:
+- loading shared objects into memory
+- performing re-location
+- running initialization routines
```text
@vm @vm
| | | |