I've tried the following, but the resulting file is still an ELF and not purely the section content.
$ objcopy --only-section=<name> <infile> <outfile>
I just want the contents of the section. Is there any utility that can do this? Any ideas?
I've tried the following, but the resulting file is still an ELF and not purely the section content.
$ objcopy --only-section=<name> <infile> <outfile>
I just want the contents of the section. Is there any utility that can do this? Any ideas?
Use the -O binary
output format:
objcopy -O binary --only-section=.text foobar.elf foobar.text
Just verified with avr-objcopy
and an AVR ELF image's .text
section.
Rather inelegant hack around objdump
and dd
:
IN_F=/bin/echo
OUT_F=./tmp1.bin
SECTION=.text
objdump -h $IN_F |
grep $SECTION |
awk '{print "dd if='$IN_F' of='$OUT_F' bs=1 count=$[0x" $3 "] skip=$[0x" $6 "]"}' |
bash
The objdump -h
produces predictable output which contains section offset in the elf file. I made the awk
to generate a dd
command for the shell, since dd
doesn't support hexadecimal numbers. And fed the command to shell.
In past I did all that manually, without making any scripts, since it is rarely needed.