Question

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 locally 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?

Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top