gpt4 book ai didi

compiler-construction - ELF文件中的“节到段映射”存储在哪里?

转载 作者:行者123 更新时间:2023-12-04 00:35:09 24 4
gpt4 key购买 nike

作为尝试从头开始完全编写编译器的一部分,我目前正在处理ELF文件。

浏览了有关它们的几篇文章和说明之后,我仍然不太了解节到段映射的存储位置。
当观察NASM + ld生成的小型可执行文件时,我可以看到.text节以某种方式映射到LOAD类型的程序头上,但是如何?

当给定一个小的(工作)可执行文件作为输入时,一小部分readelf的输出:

Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
0x0000000000000084 0x0000000000000084 R E 200000

Section to Segment mapping:
Segment Sections...
00 .text


甚至需要此映射具有有效的可执行文件吗?还是可以完全省略它们,而您仍然具有有效的可执行文件?

最佳答案

我仍然不太了解段到段映射的存储位置。


它们不会存储在任何地方。

相反,readelf通过查看文件偏移量以及节和段的大小来计算映射。

关于compiler-construction - ELF文件中的“节到段映射”存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23018496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com