gcc - 确定 GNU binutils 的目标和架构的 "correct"方法是什么?

标签 gcc gnu binutils

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

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

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

最佳答案

感谢您指出这一点,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

关于gcc - 确定 GNU binutils 的目标和架构的 "correct"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5381254/

相关文章:

c++ - 如何检查我的代码是否在 GCC 中重新编译?

command-line-arguments - 如何使用给定的参数集完成 GNU 长选项?

c - 向 binutils 2.25 添加新指令

linux - 升级 Binutils 和 GCC 后 x86_64 上的内核无法启动

linux - fatal error : Uninstalled sys-devel/binutils - emerge don't work anymore

c++ - 我如何检查有多少特定的 g++ 版本支持 C++11

c++ - 编译 C++ : undefined reference

c - 为什么我的函数没有被调用?我不明白为什么需要声明

gcc - 如何在makefile中设置环境变量?

c - 反编译一个gch文件