LLVM-OBJCOPY(1) LLVM LLVM-OBJCOPY(1) (NAME) llvm-objcopy - (SYNOPSIS) llvm-objcopy [options] input [output] (DESCRIPTION) llvm-objcopy (objects) . . (sections). (in-place) . "-" . "-" . . (drop-in) objcopy . (GENERIC AND CROSS-PLATFORM OPTIONS) . --add-gnu-debuglink .gnu_debuglink . --add-section
. ELF ".note" SHT_NOTE SHT_PROGBITS . . MachO
,
. --binary-architecture , -B . --disable-deterministic-archives, -U UID GID . --discard-all, -x (relocations) . . ELF . (debug) . --dump-section
=
. . llvm-objcopy . . MachO
,
. --enable-deterministic-archives, -D (deterministic) UID GID 0 . . --extract-section
=
. . llvm-objcopy . . --globalize-symbol (global) . . --globalize-symbols . '#' . . --help, -h . --keep-global-symbol , -G (local) . . --keep-global-symbols . '#' . . --localize-symbol , -L (non-common) . . --localize-symbols . '#' . . --only-keep-debug . ELF SHF_ALLOC SHT_NOTE SHT_NOBITS . --only-section
, -j
. . MachO
,
. --redefine-sym = . . --redefine-syms . (whitespace) . '#' . . --regex POSIX . --remove-symbol-prefix . (No-op). --remove-section
, -R . . MachO
,
. --set-section-alignment
=
. . --set-section-flags
=[,,...]
. . alloc load noload readonly exclude debug code data rom share contents merge strings large. . ELF : o alloc = SHF_ALLOC. o load = SHT_NOBITS SHT_PROGBITS . o readonly = SHF_WRITE . o exclude = SHF_EXCLUDE. o code = SHF_EXECINSTR. o merge = SHF_MERGE. o strings = SHF_STRINGS. o contents = SHT_NOBITS SHT_PROGBITS . o large = SHF_X86_64_LARGE x86_64 x86_64 . COFF : o alloc = IMAGE_SCN_CNT_UNINITIALIZED_DATA IMAGE_SCN_MEM_READ load . o noload = IMAGE_SCN_LNK_REMOVE IMAGE_SCN_MEM_READ. o readonly = IMAGE_SCN_MEM_WRITE . o exclude = IMAGE_SCN_LNK_REMOVE IMAGE_SCN_MEM_READ. o debug = IMAGE_SCN_CNT_INITIALIZED_DATA IMAGE_SCN_MEM_DISCARDABLE IMAGE_SCN_MEM_READ. o code = IMAGE_SCN_CNT_CODE IMAGE_SCN_MEM_EXECUTE IMAGE_SCN_MEM_READ. o data = IMAGE_SCN_CNT_INITIALIZED_DATA IMAGE_SCN_MEM_READ. o share = IMAGE_SCN_MEM_SHARED IMAGE_SCN_MEM_READ. --skip-symbol . --skip-symbols . '#' . . --strip-all-gnu . --strip-all GNU objcopy . --strip-all, -S ELF (non-alloc) .gnu.warning .ARM.attribute . COFF Mach-O . --strip-debug, -g . --strip-symbol , -N . . --strip-symbols . '#' . . --strip-unneeded-symbol . --strip-unneeded-symbols . '#' . . --strip-unneeded . . --update-section = . (segment) . --version, -V llvm-objcopy . --wildcard, -w (wildcard) . . --regex . : +----------------+--------------------------+-----------------+ | | | | +----------------+--------------------------+-----------------+ |* | | .* | | | | | +----------------+--------------------------+-----------------+ |? | | . | | | | | +----------------+--------------------------+-----------------+ |\ | | \ | | | | | | | | | | | | | +----------------+--------------------------+-----------------+ |[a-z] | | [a-z] | | | | | +----------------+--------------------------+-----------------+ |[!a-z], [^a-z] | | [^a-z] | | | | | | | | | +----------------+--------------------------+-----------------+ '!' . -w -N '*' -N '!x' x (strip) . . -w -N '*' -N '!x' -w -N '!x' -N '*' . @ . ELF . llvm-objcopy . --add-symbol =[
:][,]
.
(absolute) . . : o global = . o local = . o weak = . o default = . o hidden = . o protected = . o file = STT_FILE . o section = STT_SECTION . o object = STT_OBJECT . o function = STT_FUNC . o indirect-function = STT_GNU_IFUNC . : debug constructor warning indirect synthetic unique-object before. . --allow-broken-links llvm-objcopy . sh_link . --change-section-lma \*{+-} LMA . --change-section-address
{=+-}, --adjust-section-vma
+/- . . --change-section-address . () . ET_REL . --change-start , --adjust-start . . --compress-debug-sections [] DWARF . zlib zstd . zlib . --compress-sections
=
. zlib zstd . none . .
'!' . . --decompress-debug-sections DWARF . --discard-locals, -X ".L" (relocations) . --extract-dwo .dwo DWARF . --extract-main-partition . --extract-partition . --gap-fill . . --input-target , -I . (SUPPORTED FORMATS) . llvm-objcopy . --keep-file-symbols STT_FILE . --keep-section
. . --keep-symbol , -K . . --keep-symbols . '#' . . --localize-hidden (hidden) (internal) (local) . --new-symbol-visibility --add-symbol . : o default o hidden o internal o protected default . --no-verify-note-sections (note sections) . --output-target , -O . (SUPPORTED FORMATS) . --input-target . --pad-to
(binary) --gap-fill
(pad) . --prefix-alloc-sections . --prefix-symbols . --preserve-dates, -p . --remove-note [/] (notes) SHT_NOTE (segment) . . --rename-section =[,,...] . --set-section-flags . . --set-section-type
=
. . --set-start . --change-start --adjust-start . --set-symbol-visibility = (visibility) . --set-symbols-visibility = (visibility) . : default internal hidden protected. --split-dwo llvm-objcopy --extract-dwo --strip-dwo . --strip-dwo DWARF .dwo . --strip-non-alloc (segments) . --strip-sections (segments) . (object) . --target , -F --input-target --output-target . SUPPORTED FORMATS . --verify-note-sections . . --weaken-symbol , -W (weak) . . --weaken-symbols . '#' . . --weaken (weak) . --keep-undefined (strip) . COFF (COFF-SPECIFIC OPTIONS) --subsystem [:] PE . (SUPPORTED FORMATS) llvm-objcopy --input-target --output-target --target . GNU objcopy bfdname . o binary o ihex o elf32-i386 o elf32-x86-64 o elf64-x86-64 o elf32-iamcu o elf32-littlearm o elf64-aarch64 o elf64-littleaarch64 o elf32-littleriscv o elf64-littleriscv o elf32-powerpc o elf32-powerpcle o elf64-powerpc o elf64-powerpcle o elf32-bigmips o elf32-ntradbigmips o elf32-ntradlittlemips o elf32-tradbigmips o elf32-tradlittlemips o elf64-tradbigmips o elf64-tradlittlemips o elf32-sparc o elf32-sparcel o elf32-hexagon o elf32-loongarch o elf64-loongarch o elf64-s390 llvm-objcopy --output-target : o srec binary ihex srec -freebsd ..SH " (BINARY INPUT AND OUTPUT)" binary --input-target ELF _binary__start _binary__end _binary__size _ . binary --output-target . . . (EXIT STATUS) llvm-objcopy . 0 . (BUGS) <> . --input-target --target binary ihex . llvm-objcopy . (SEE ALSO) llvm-strip(1) (AUTHORS) LLVM (https://llvm.org). (COPYRIGHT) 2003-2026, LLVM Project 22 2026-07-15 LLVM-OBJCOPY(1)