我建立由几个代码模块和静态库的嵌入式应用。 有些全局变量是明确放在专用内存部分(即不是默认的.data段)。
该处理器存储器架构为4家银行,创建一个连续的物理存储器空间。 在我的应用程序中,只有第一行是保留代码和其他3家银行都预留了明确分配的全局和一小摞。
问题是,该代码段(的.text)现在的增长超出第一银行界和我得到下面的连接错误信息:
./bin/ld: section .data_bank1 loaded at [0000000000002000,0000000000003fff] overlaps section .text loaded at [0000000000000630,00000000000020df]
./bin/ld: section .fini loaded at [00000000000020e0,00000000000020f9] overlaps section .data_bank1 loaded at [0000000000002000,0000000000003fff]
有没有办法看到的链接检查部分和对象重叠前的对象分配(可能在一个临时对象文件),并中止构建?