我正在尝试使用以下命令编译嵌入式手臂处理器gcc-arm-linux-gnueabi
, and -nostdlib
删除对 c 库和启动文件的依赖关系。该芯片没有任何解释 elf 文件的方法,因此使用objcopy -O binary
,我可以从中删除精灵标题。但是,如果我保留构建 ID,则二进制文件在输出的开头就有构建 ID,因此它无法运行。我可以使用以下命令删除链接器脚本中的构建 ID/DISCARD/ : { *(.note.gnu.build-id) *(.ARM.attributes) }
,但是链接器会发出警告.note.gnu.build-id section discarded, --build-id ignored.
。虽然这工作正常,并且代码在芯片上运行良好,但我希望不必通过然后删除构建 ID。有什么办法可以指教吗gcc
将命令传递给链接器而不同时传递--build-id
?
我认为这些选项将满足您的需求:
-Wl,--build-id=none
为 style 传递 none 会禁用命令行上之前的任何 --build-id 选项的设置。
— LD手册 http://sourceware.org/binutils/docs-2.23.1/ld/Options.html#Options
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)