我已阅读并查看了很多示例,但我仍然遇到问题。 所以我拥有的是
SECTIONS
{
_kernel_head_address = 12;
.text 0x00400400 :
{
code = .; _code = .; __code = .;
*(.text)
. = ALIGN(1024);
}
...
_kernel_tail_address = .;
_kernel_size = _kernel_tail_address - _kernel_head_address;
}
符号已定义,我可以检索C ++代码中符号的地址。但是,所有三个符号都是用连续的地址x0000,x0004,x0008定义的,当我查看文件的objdump时,我可以看到它们都是在输出文件的.bss部分中定义的。 因此,似乎链接器忽略了脚本中定义符号的位置,并简单地将它们全部分配在.bss部分中,这与我看到的所有示例相反。 我做的事情显然是错的吗?我的开发环境中有什么东西可以导致这种情况吗?非常感谢任何指针,我花了最近4天的时间,我感到难过。