确定GNU binutils的目标和架构的“正确”方法是什么?

时间:2011-03-21 17:21:12

标签: gcc gnu binutils

在我的构建链中,我需要这样做:

objcopy -I binary -O $BFDNAME -B $BFDARCH <this> <that>

以便将二进制文件转换为库形式。因为我希望其他人能够使用它,所以当他们运行构建时,我需要知道如何从他们的工具链中获取$ BFDNAME和$ BFDARCH。我可以通过对我已经构建的文件运行objdump -f来本地获取值,但有没有更好的方法不会让我编译丢弃文件只是为了获取配置值?

2 个答案:

答案 0 :(得分:3)

感谢您指出这一点,regularfry!您的回答帮助我找到了另一种无需指定架构的解决方案:

ld -r -b binary -o data.o data.txt

在我的系统(Ubuntu Linux,binutils 2.22)上,objcopy和ld方法都生成相同的目标文件。

所有功劳归于: http://stupefydeveloper.blogspot.de/2008/08/cc-embed-binary-data-into-elf.html

答案 1 :(得分:1)

为了将来参考,答案似乎是这样的:objdump -i输出中的第一个条目是系统的默认原生格式。