链接时出错:链接描述文件

时间:2015-05-29 05:06:34

标签: linker-scripts

这个错误意味着什么?

  

部分.data无法在第2段中分配

这适用于Xtensa的裸机GCC交叉工具链。我觉得这与分段大小无关。

1 个答案:

答案 0 :(得分:0)

SECTIONS命令告诉链接器如何将输入节映射到输出节,以及如何将输出节放在内存中。 SECTIONS命令的格式为:

 SECTIONS
 {
   sections-command
   sections-command
   ...
 }

我们可以使用BYTE,SHORT,LONG,QUAD或SQUAD作为输出节命令,在输出节中包含显式的数据字节。

  

使用64位主机或目标时,QUAD和SQUAD是相同的;他们   两者都存储一个8字节或64位的值。主机和目标都是   32位,表达式计算为32位。在这种情况下QUAD   存储32位值零扩展到64位,SQUAD存储32位   位值符号扩展为64位。

如果输出文件的目标文件格式具有显式字节序,这是正常情况,则该值将以该字节顺序存储。当目标文件格式没有显式字节序时,就像例如,S-records一样,该值将存储在第一个输入对象文件的字节序中。

注意 - 这些命令只能在部分描述中使用,而不能在它们之间工作,因此以下内容将从链接器产生错误:

 SECTIONS { .text : { *(.text) } LONG(1) .data : { *(.data) } }

虽然这样可行:

 SECTIONS { .text : { *(.text) ; LONG(1) } .data : { *(.data) } }

我希望你现在可以解决你的错误!!!