avr-ld错误:" gc-sections需要输入或未定义的符号"

时间:2015-07-16 16:26:04

标签: c gnu ld avr

使用avr-gcc并在编译和链接--gc-sections时尝试使用-ffunction-sections和-fdata-sections来减小二进制文件的大小。 .lds文件不包含任何内容:

SECTIONS { }

当将许多.o&部分链接到.a时会发生此错误,稍后将使用该错误完成构建。

我已经阅读了其他一些讨论这些选项的帖子,但没有任何内容可以澄清ENTRY()问题。在尝试减少代码大小之前,他们似乎并不需要在部分阶段(预先存在的链接器脚本显然不使用它)。

文档说明: - gc-sectionts

"执行部分链接时可以设置此选项(启用选项' -r')。在这种情况下,保留的符号根必须由' - 条目'明确指定。或者`--undefined'选项或链接描述文件中的ENTRY命令。"

这是我迷失的地方。非常感谢如何在链接描述文件中使用--undefined,--entry或ENTRY cmd来解决此问题。

1 个答案:

答案 0 :(得分:-1)

我有类似的问题并且放弃了。我最终使用-fwhole-program选项进行编译,这显着减少了我的引导加载程序的大小。