elf - NOLOAD 输出部分如何映射到段中?
问题描述
我有一个链接器脚本片段:</p>
...
SECTIONS
{
. = 0x00000000;
...
.dma (NOLOAD) : { *(.dma)}
. = 0x39B10000;
.phy_load (NOLOAD) : { *(.phy_load) }
...
}
从readelf -l
输出中,.dma
和.phy_load
部分被放入同一个LOAD
段中。这里有两个问题:
NOLOAD
部分进入LOAD
段。这是正确的行为吗?这篇文章问了同样的问题,但没有得到最终答案。FileSiz
为 0 并且MemSiz
是结果中此段的一个大数 (0x39ad74b0)readelf -l
。NOLOAD
部分被FileSiz
(ELF 文件)排除,但被MemSiz
(内存映像)包含。那么 ELF 加载器将如何处理这种段,尤其是段之间的孔(这里是 和 之间的孔.dma
).phy_load
?我的测试结果显示,加载 ELF 时,孔被零初始化。如果我不想这样,我该怎么办?
解决方案
推荐阅读
- linux - 在 For 循环中将列附加到 CSV
- java - Spring MongoDB 填充引用
- r - R:如何根据每个输入列的相同公式输出一列?
- python - 如何检查熊猫数据框列中的子字符串是否存在于同一数据框中另一列的子字符串中?
- docusignapi - DocuSign 收件箱为空,在收件箱中接收确认的设置
- angular - string.replace 在多个属性上的重构思路
- github - 使用个人访问令牌将 Gradle 上的脚本应用于私有(企业)github 存储库
- asp.net-core - EF Core 何时自动创建/更新导航属性?
- zsh - ZSH如何在符号链接目录中获取非符号链接文件
- python-3.x - 无法在 python 3.7.6 上导入 pyfits