我需要向我的应用程序 (.elf) 添加一个新部分。我有默认的链接器脚本。然后我阅读了 GNU Linker 手册。按照手册中的说明,我编辑了链接器脚本文件。.patchText
但是,当为下面显示的部分保留 0x400 字节区域时,应用程序会给出分段错误错误。
这是我编辑的链接器脚本的相关部分:
.patchText :
{
*patchObsw.o (.text .data .rodata)
. = 0x400;
} > ram
在这种情况下,应用程序已成功编译和链接,但运行应用程序会出现分段错误。
如果我. = 0x400;
从链接器脚本中删除该行,重做编译和链接过程,它仍然是成功的,没有分段错误。
根据 GNU 链接器手册,这一行是可以的。
我不明白这里有什么问题。