1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
.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)
|