开发者

What's the "correct" way to determine target and architecture for GNU binutils?

In my build chain, I need to do this:

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

in order to get a binary file into library form. Because I want other people to be able to use this, I need to know how to get $BFDNAME and $BFDARCH from their toolchain when they run the build. I can get the values local开发者_开发百科ly by running objdump -f against a file I've already built, but is there a better way which won't leave me compiling throw-away files just to get configuration values?


Thank you for pointing this out, regularfry! Your answer helped me to find another solution which works without specifying the architecture at all:

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

On my system (Ubuntu Linux, binutils 2.22) both objcopy and ld approaches produce identical object files.

All credit goes to: http://stupefydeveloper.blogspot.de/2008/08/cc-embed-binary-data-into-elf.html


For future reference, the answer seems to be this: the first entry in the output of objdump -i is the default, native format of the system.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜