diff --git a/study/kernel/01-process/03-execute/03-load_elf_binary/README.md b/study/kernel/01-process/03-execute/03-load_elf_binary/README.md index d9be9b7..4ac3874 100644 --- a/study/kernel/01-process/03-execute/03-load_elf_binary/README.md +++ b/study/kernel/01-process/03-execute/03-load_elf_binary/README.md @@ -281,7 +281,27 @@ out: 可以使用readelf -l查看program headers, 其中的INTERP段标识了我们程序所需要的解释器 -![](./images/elf_interpreter.jpg) +```c +readelf -l testelf_normal +``` + +![testelf_normal的解释器](./images/testelf_normal_interpreter.jpg) + +```c +readelf -l testelf_dynamic +``` + +![testelf_normal的解释器](./images/testelf_dynamic_interpreter.jpg) + +```c +readelf -l test_static +``` +![testelf_normal的解释器](./images/testelf_static_interpreter.jpg) + +我们可以看到testelf_normal和testelf_dynamic都是动态链接的需要解释器 + +而testelf_static则是静态链接的不需要解释器 + ##检查并读取解释器的程序表头 ------- diff --git a/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_dynamic_interpreter.jpg b/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_dynamic_interpreter.jpg new file mode 100644 index 0000000..5027516 Binary files /dev/null and b/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_dynamic_interpreter.jpg differ diff --git a/study/kernel/01-process/03-execute/03-load_elf_binary/images/elf_interpreter.jpg b/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_normal_interpreter.jpg similarity index 100% rename from study/kernel/01-process/03-execute/03-load_elf_binary/images/elf_interpreter.jpg rename to study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_normal_interpreter.jpg diff --git a/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_static_interpreter.jpg b/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_static_interpreter.jpg new file mode 100644 index 0000000..ff95c69 Binary files /dev/null and b/study/kernel/01-process/03-execute/03-load_elf_binary/images/testelf_static_interpreter.jpg differ