-I --input-target | Assume input file is in format <bfdname> | help + man |
-O --output-target | Create an output file in format <bfdname> | help + man |
-B --binary-architecture | Set output arch, when input is arch-less | help + man |
-F --target | Set both input and output format to <bfdname> | help + man |
--debugging | Convert debugging information, if possible. | help + man |
-p --preserve-dates | Copy modified/access timestamps to the output | help + man |
-D --enable-deterministic-archives | Produce deterministic output when stripping archives (default) | help + man |
-U --disable-deterministic-archives | Disable -D behavior | help + man |
-j --only-section | Only copy section <name> into the output | help + man |
--add-gnu-debuglink file | Creates a .gnu_debuglink section which contains a reference to path-to-file and adds it to the output file. | help + man |
-R --remove-section | Remove section <name> from the output | help + man |
--remove-relocations name | Remove non-dynamic relocations from the output file for any section matching sectionpattern. | help + man |
--strip-section-headers | Strip section header This option is specific to ELF files. | help + man |
-S --strip-all | Remove all symbol and relocation information | help + man |
-g --strip-debug | Remove all debugging symbols & sections | help + man |
--strip-dwo | Remove the contents of all DWARF .dwo sections, leaving the remaining debugging sections and all symbols intact. | help + man |
--strip-unneeded | Remove all symbols that are not needed for relocation processing in addition to debugging symbols and sections stripped by --strip-debug. | help + man |
-N --strip-symbol | Do not copy symbol <name> | help + man |
--strip-unneeded-symbol name | Do not copy symbol symbolname from the source file unless it is needed by a relocation. | help + man |
--only-keep-debug | Strip a file, removing contents of any sections that would not be stripped by --strip-debug and leaving the debugging sections intact. | help + man |
--extract-dwo | Extract the contents of all DWARF .dwo sections. | help + man |
--extract-symbol | Keep the file's section flags and symbols but remove all section data. | help + man |
--keep-section name | When removing sections from the output file, keep sections that match sectionpattern. | help + man |
-K --keep-symbol | Do not strip symbol <name> | help + man |
--keep-section-symbols | When stripping a file, perhaps with --strip-debug or --strip-unneeded, retain any symbols specifying section names, which would otherwise get stripped. | help + man |
--keep-file-symbols | When stripping a file, perhaps with --strip-debug or --strip-unneeded, retain any symbols specifying source file names, which would otherwise get stripped. | help + man |
--localize-hidden | In an ELF object, mark all symbols that have hidden or internal visibility as local. | help + man |
-L --localize-symbol | Force symbol <name> to be marked as a local | help + man |
--globalize-symbol name | Give symbol symbolname global scoping so that it is visible outside of the file in which it is defined. | help + man |
-G --keep-global-symbol | Localize all symbols except <name> | help + man |
-W --weaken-symbol | Force symbol <name> to be marked as a weak | help + man |
--weaken | Change all global symbols in the file to be weak. | help + man |
-w --wildcard | Permit wildcard in symbol comparison | help + man |
-x --discard-all | Remove all non-global symbols | help + man |
-X --discard-locals | Remove any compiler-generated symbols | help + man |
-i --interleave[=<number | Only copy N out of every <number> bytes | help |
--interleave-width number | When used with the --interleave option, copy width bytes at a time. | help + man |
-b --byte | Select byte <num> in every interleaved block | help + man |
--gap-fill val | Fill gaps between sections with <val> | help + man |
--pad-to addr | Pad the output file up to the load address address. | help + man |
--set-start addr | Set the start address (also known as the entry address) of the new file to val. | help + man |
--change-section-lma name>{=|+|-}<val | Set or change the LMA address of any sections matching sectionpattern. | help + man |
--change-section-vma name>{=|+|-}<val | Set or change the VMA address of any section matching sectionpattern. | help + man |
--set-section-flags name>=<flags | Set the flags for any sections matching sectionpattern. | help + man |
--set-section-alignment name>=<align | Set the alignment for any sections matching sectionpattern. | help + man |
--add-section name>=<file | Add a new section named sectionname while copying the file. | help + man |
--update-section name>=<file | Replace the existing contents of a section named sectionname with the contents of file filename. | help + man |
--dump-section name>=<file | Place the contents of section named sectionname into the file filename, overwriting any contents that may have been there previously. | help + man |
--long-section-names enable|disable|keep | Controls the handling of long section names when processing "COFF" and "PE-COFF" object formats. | help + man |
--change-leading-char | Some object file formats use special characters at the start of symbols. | help + man |
--remove-leading-char | If the first character of a global symbol is a special symbol leading character used by the object file format, remove the character. | help + man |
--reverse-bytes num | Reverse <num> bytes at a time, in output sections with content | help + man |
--redefine-sym old>=<new | Change the name of a symbol old, to new. | help + man |
--redefine-syms file | Apply --redefine-sym to each symbol pair "old new" listed in the file filename. | help + man |
--srec-len number | Restrict the length of generated Srecords | help + man |
--srec-forceS3 | Restrict the type of generated Srecords to S3 | help + man |
--strip-symbols file | Apply --strip-symbol option to each symbol listed in the file filename. | help + man |
--strip-unneeded-symbols file | Apply --strip-unneeded-symbol option to each symbol listed in the file filename. | help + man |
--keep-symbols file | Apply --keep-symbol option to each symbol listed in the file filename. | help + man |
--localize-symbols file | Apply --localize-symbol option to each symbol listed in the file filename. | help + man |
--globalize-symbols file | Apply --globalize-symbol option to each symbol listed in the file filename. | help + man |
--keep-global-symbols file | Apply --keep-global-symbol option to each symbol listed in the file filename. | help + man |
--weaken-symbols file | Apply --weaken-symbol option to each symbol listed in the file filename. | help + man |
--binary-symbol-prefix prefix | When used with --input-target=binary, sets string as the base name for the symbols generated for the input file. | help + man |
--add-symbol name>=[<section>:]<value | Add a symbol | help |
--alt-machine-code index | If the output architecture has alternate machine codes, use the indexth code instead of the default one. | help + man |
--writable-text | Mark the output text as writable. | help + man |
--readonly-text | Make the output text write protected. | help + man |
--pure | Mark the output file as demand paged. | help + man |
--impure | Mark the output file as impure. | help + man |
--prefix-symbols prefix | Prefix all symbols in the output file with string. | help + man |
--prefix-sections prefix | Prefix all section names in the output file with string. | help + man |
--prefix-alloc-sections prefix | Prefix all the names of all allocated sections in the output file with string. | help + man |
--file-alignment num | Set PE file alignment to <num> | help + man |
--heap reserve | Set PE reserve/commit heap to <reserve>/ <commit> | help + man |
--image-base address | Use value as the base address of your program or dll. | help + man |
--section-alignment num | [This option is specific to PE targets.] | help + man |
--stack reserve | Set PE reserve/commit stack to <reserve>/ <commit> | help + man |
--subsystem name>[:<version | Set PE subsystem to <name> [& <version>] | help + man |
--compress-debug-sections none|zlib|zlib-gnu|zlib-gabi|zstd | Compress DWARF debug sections using zlib with SHF_COMPRESSED from the ELF ABI. | help + man |
--decompress-debug-sections | Decompress DWARF debug sections using zlib | help + man |
--elf-stt-common yes|no | Generate ELF common symbols with STT_COMMON type | help + man |
-M | --merge-notes Remove redundant entries in note sections | help |
--no-merge-notes | For ELF files, attempt (or do not attempt) to reduce the size of any SHT_NOTE type sections by removing duplicate notes. | help + man |
-v --verbose | List all object files modified | help + man |
-V --version | Display this program's version number | help + man |
-h --help | Display this output | help |
--info | Display a list showing all architectures and object formats available. | help + man |
--input-target bfdname | Consider the source file's object format to be bfdname, rather than attempting to deduce it. (in the manual page but not in --help) | man |
--output-target bfdname | Write the output file using the object format bfdname. (in the manual page but not in --help) | man |
--target bfdname | Use bfdname as the object format for both the input and the output file; (in the manual page but not in --help) | man |
--binary-architecture bfdarch | Useful when transforming a architecture-less input file into an object file. (in the manual page but not in --help) | man |
--only-section sectionpattern | Copy only the indicated sections from the input file to the output file. (in the manual page but not in --help) | man |
--remove-section sectionpattern | Remove any section matching sectionpattern from the output file. (in the manual page but not in --help) | man |
--strip-all | Do not copy relocation and symbol information from the source file. (in the manual page but not in --help) | man |
--strip-debug | Do not copy debugging symbols or sections from the source file. (in the manual page but not in --help) | man |
--keep-symbol symbolname | When stripping symbols, keep symbol symbolname even if it would normally be stripped. (in the manual page but not in --help) | man |
--strip-symbol symbolname | Do not copy symbol symbolname from the source file. (in the manual page but not in --help) | man |
--keep-global-symbol symbolname | Keep only symbol symbolname global. (in the manual page but not in --help) | man |
--localize-symbol symbolname | Convert a global or weak symbol called symbolname into a local symbol, so that it is not visible externally. (in the manual page but not in --help) | man |
--weaken-symbol symbolname | Make symbol symbolname weak. (in the manual page but not in --help) | man |
--wildcard | Permit regular expressions in symbolnames used in other command line options. (in the manual page but not in --help) | man |
--discard-all | Do not copy non-global symbols from the source file. (in the manual page but not in --help) | man |
--discard-locals | Do not copy compiler-generated local symbols. (in the manual page but not in --help) | man |
--byte byte | If interleaving has been enabled via the --interleave option then start the range of bytes to keep at the byteth byte. (in the manual page but not in --help) | man |
--preserve-dates | Set the access and modification dates of the output file to be the same as those of the input file. (in the manual page but not in --help) | man |
--enable-deterministic-archives | Operate in deterministic mode. (in the manual page but not in --help) | man |
--disable-deterministic-archives | Do not operate in deterministic mode. (in the manual page but not in --help) | man |
--change-start incr | (in the manual page but not in --help) | man |
--adjust-start incr | Change the start address (also known as the entry address) by adding incr. (in the manual page but not in --help) | man |
--change-addresses incr | (in the manual page but not in --help) | man |
--adjust-vma incr | Change the VMA and LMA addresses of all sections, as well as the start address, by adding incr. (in the manual page but not in --help) | man |
--change-section-address sectionpattern | (in the manual page but not in --help) | man |
--adjust-section-vma sectionpattern | Set or change both the VMA address and the LMA address of any section matching sectionpattern. (in the manual page but not in --help) | man |
--change-warnings | (in the manual page but not in --help) | man |
--adjust-warnings | If --change-section-address or --change-section-lma or --change-section-vma is used, and the section pattern does not match any sections, issue a warning. (in the manual page but not in --help) | man |
--no-change-warnings | (in the manual page but not in --help) | man |
--no-adjust-warnings | Do not issue a warning if --change-section-address or --adjust-section-lma or --adjust-section-vma is used, even if the section pattern does not match any sections. (in the manual page but not in --help) | man |
--merge-notes | (in the manual page but not in --help) | man |
--version | Show the version number of objcopy. (in the manual page but not in --help) | man |
--verilog-data-width bytes | For Verilog output, this options controls the number of bytes converted for each output data element. (in the manual page but not in --help) | man |
--verbose | Verbose output: list all object files modified. (in the manual page but not in --help) | man |
--help | Show a summary of the options to objcopy. (in the manual page but not in --help) | man |