我想知道在链接描述文件中定义符号有什么用。使用链接描述文件来安排不同的部分是可以理解的,但我不清楚在脚本中定义新符号。我正在阅读一篇文章,该文章使用定义两个新符号的链接器脚本,但在链接器脚本或文章中的其他任何地方都没有引用这些符号。一个示例是在 bss 部分中使用 sbss 和 ebss 符号,如下所示:
ENTRY (loader)
SECTIONS
{ . = 0x00100000;
.text ALIGN (0x1000) :
{
*(.text)
}
.rodata ALIGN (0x1000) :
{
*(.rodata*)
}
.data ALIGN (0x1000) :
{
*(.data)
}
.bss :
{
sbss = .;
*(COMMON)
*(.bss)
ebss = .;
}
}
还有其他经常使用的符号,例如 etext , dataEnd 等。请解释在脚本中没有引用它们时定义这些符号的用途。