objcopy --dump-section
Представлен в Binutils 2.25 и дает эффект, аналогичный -O binary --only-section
.
Использование:
objcopy --dump-section .text=output.bin input.o
https://sourceware.org/binutils/docs-2.25/binutils/objcopy.html документирует это как:
--dump-section sectionname = имя файла
Поместите содержимое раздела с именем sectionname в имя файла файла, перезаписав любое содержимое, которое могло быть там ранее. Эта опция противоположна --add-section. Этот параметр аналогичен параметру --only-section за исключением того, что он не создает форматированный файл, а просто выгружает содержимое как необработанные двоичные данные без каких-либо перемещений. Опция может быть указана более одного раза.
Минимально работоспособный пример
main.S
.data
.byte 0x12, 0x34, 0x56, 0x78
.text
.byte 0x9A, 0xBC, 0xDE, 0xF0
Собрать:
as -o main.o main.S
Извлечь данные:
objcopy --dump-section .data=data.bin main.o
hd data.bin
Вывод:
00000000 12 34 56 78 |.4Vx|
00000004
Извлечь текст:
objcopy --dump-section .text=text.bin main.o
hd text.bin
Вывод:
00000000 9a bc de f0 |....|
00000004
Протестировано в Ubuntu 18.04 amd64, Binutils 2.30.
person
Ciro Santilli 新疆再教育营六四事件ۍ
schedule
04.09.2015