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 = filename
Поместить содержимое раздела с именем 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, Binutils2,30.