【发布时间】:2015-06-29 20:43:25
【问题描述】:
我有一个要求,我需要创建 .data 部分的副本/复制部分。
我尝试在链接描述文件中创建一个具有相同数据段大小的虚拟段,并将数据段的内容复制到我的 ELF 映像的 init 函数中的虚拟段,但这不符合我的要求,因为我希望复制/复制部分与最终 ELF 图像一起创建,而不是在执行期间。
下面是我想要的链接器脚本,
SECTIONS {
.data : { <data section contents> }
.dummydata : { <copy of .data section> }
}
谁能帮助编写符合上述要求的链接描述文件?
【问题讨论】:
-
你认为你为什么要这样做?这感觉就像XY Problem。
-
@Jonathan 我的平台希望将数据部分内容的副本加载到预定义的位置,以将其用作 ROM 数据。到目前为止,这种安排基本上是由第三方编译器工具链完成的,但我们现在想迁移到 GNU 开源工具链。有一种方法可以通过更改与 ROM 数据一起使用的汇编代码来满足这个新版本的 ELF 映像启动的要求,但我不想打扰汇编代码,所以我想通过在链接描述文件中创建数据部分的副本。
-
玩得开心!我不知道这是不可能的,但我不知道如何去做。
标签: c gcc linker elf duplicate-data