.TH MCPU-OBJCOPY 1 "Октябрь 2026" "LibMCPU" "Команды пользователя" .SH ИМЯ mcpu-objcopy \- безопасное копирование и редактирование metadata MELF .SH СИНТАКСИС .B mcpu-objcopy .RI [ опции ] " INPUT OUTPUT" .SH ОПИСАНИЕ .B mcpu-objcopy — MELF-to-MELF structural copier/editor. Это намеренно не ROM-image converter: нет flat binary, Intel HEX, S-record, VMA/LMA, start-address или section-flags conversion modes. .PP Editor защищает frozen MELF ABI v3: runtime-visible allocated sections, dynamic-link metadata, runtime relocations и MCPU target/lifecycle data нельзя удалять, переименовывать или изменять safe metadata interface. .SH ОПЦИИ .TP .BI -j " ИМЯ" .TQ .BI --only-section= ИМЯ Копировать только указанные sections; repeatable. Операция отклоняется, если фильтрация выбрасывает runtime, dynamic или ET_REL link-critical data. .TP .BI -R " ИМЯ" .TQ .BI --remove-section= ИМЯ Удалить safe non-runtime section. .TP .BI --dump-section= ИМЯ=ФАЙЛ Записать contents section в ФАЙЛ. Для archive input отклоняется как неоднозначная операция. .TP .BI --add-section= ИМЯ=ФАЙЛ Добавить non-ALLOC SHT_PROGBITS metadata из ФАЙЛ. Reserved runtime names запрещены. .TP .BI --update-section= ИМЯ=ФАЙЛ Заменить contents safe non-ALLOC SHT_PROGBITS section. .TP .BI --rename-section= СТАРОЕ=НОВОЕ Переименовать safe non-ALLOC section; reserved runtime names защищены. .TP .B --help Справка. .TP .B --version Вывести имя программы, идентификатор инструментария MCPU и версию, затем завершить работу. .TP .B --dump-version Вывести только номер версии пакета MCPU и завершить работу. .SH STRUCTURAL INVARIANTS Metadata-only edits перестраивают .shstrtab и remap section references, включая st_shndx сохраняемых symbols, но не изменяют allocated image и program headers. Non-ALLOC metadata tail может быть repacked. .SH АРХИВЫ Deterministic MCPU archives преобразуются member-by-member с сохранением archive symbol-index semantics. .SH ПРИМЕРЫ .nf mcpu-objcopy input.o output.o mcpu-objcopy --add-section=.note.build=build.txt input.o output.o mcpu-objcopy --update-section=.note.build=new.txt input.o output.o mcpu-objcopy --rename-section=.note.build=.note.release input.o output.o mcpu-objcopy -R .note.release input.o output.o .fi .SH СМ. ТАКЖЕ .BR mcpu-strip (1), .BR mcpu-objdump (1), .BR mcpu-readelf (1), .BR libmcpu (7)