在我的构建链中,我需要这样做:
objcopy -I binary -O $BFDNAME -B $BFDARCH <this> <that>
以便将二进制文件转换为库形式。因为我希望其他人能够使用它,所以当他们运行构建时,我需要知道如何从他们的工具链中获取$ BFDNAME和$ BFDARCH。我可以通过对我已经构建的文件运行objdump -f来本地获取值,但有没有更好的方法不会让我编译丢弃文件只是为了获取配置值?
答案 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
输出中的第一个条目是系统的默认原生格式。