OBJCOPY(1)
β¨ OBJCOPY(1) β the sdobjcopy glow-up β¨
okay bestie, gather round π«Ά this is OBJCOPY(1) from the General Commands Manual, section 1, and yes it's giving very much "SDCC side quest" energy.
π NAME π
sdobjcopy β copy and translate object files. A part of SDCC.
like, it takes your object files and it copies them, and it translates them, and honestly? iconic. π
π¦ SYNOPSIS π¦
sdobjcopy [option(s)] in-file [out-file]
πΈ DESCRIPTION πΈ
Copies a binary file, possibly transforming it in the process β¨ (and yes, we're doing the transformation mid-copy, main character energy fr fr).
The options are:
-I,--input-target<bfdname>β Assume input file is in format<bfdname>.-O,--output-target<bfdname>β Create an output file in format<bfdname>.-B,--binary-architecture<arch>β Set output arch, when input is arch-less.-F,--target<bfdname>β Set both input and output format to<bfdname>. two birds, one slay π--debuggingβ Convert debugging information, if possible.-p,--preserve-datesβ Copy modified/access timestamps to the output.-D,--enable-deterministic-archivesβ Produce deterministic output when stripping archives.-U,--disable-deterministic-archivesβ Disable-Dbehavior (this is the default, bestie).-j,--only-section<name>β Only copy section<name>into the output.--add-gnu-debuglink=<file>β Add section.gnu_debuglinklinking to<file>.-R,--remove-section<name>β Remove section<name>from the output.-S,--strip-allβ Remove all symbol and relocation information.-g,--strip-debugβ Remove all debugging symbols & sections.--strip-dwoβ Remove all DWO sections.--strip-unneededβ Remove all symbols not needed by relocations.-N,--strip-symbol<name>β Do not copy symbol<name>.--strip-unneeded-symbol<name>β Do not copy symbol<name>unless needed by relocations.--only-keep-debugβ Strip everything but the debug information.--extract-dwoβ Copy only DWO sections.--extract-symbolβ Remove section contents but keep symbols.-K,--keep-symbol<name>β Do not strip symbol<name>.--keep-file-symbolsβ Do not strip file symbol(s).--localize-hiddenβ Turn all ELF hidden symbols into locals.-L,--localize-symbol<name>β Force symbol<name>to be marked as a local.--globalize-symbol<name>β Force symbol<name>to be marked as a global.-G,--keep-global-symbol<name>β Localize all symbols except<name>.-W,--weaken-symbol<name>β Force symbol<name>to be marked as a weak.--weakenβ Force all global symbols to be marked as weak.-w,--wildcardβ Permit wildcard in symbol comparison.-x,--discard-allβ Remove all non-global symbols.-X,--discard-localsβ Remove any compiler-generated symbols.-i,--interleave[<number>]β Only copy N out of every<number>bytes.--interleave-width<number>β Set N for--interleave.-b,--byte<num>β Select byte<num>in every interleaved block.--gap-fill<val>β Fill gaps between sections with<val>.--pad-to<addr>β Pad the last section up to address<addr>.--set-start<addr>β Set the start address to<addr>.{--change-start|--adjust-start}<incr>β Add<incr>to the start address.{--change-addresses|--adjust-vma}<incr>β Add<incr>to LMA, VMA and start addresses.{--change-section-address|--adjust-section-vma}<name>{=|+|-}<val>β Change LMA and VMA of section<name>by<val>.--change-section-lma<name>{=|+|-}<val>β Change the LMA of section<name>by<val>.--change-section-vma<name>{=|+|-}<val>β Change the VMA of section<name>by<val>.{--[no-]change-warnings|--[no-]adjust-warnings}β Warn if a named section does not exist.--set-section-flags<name>=<flags>β Set section<name>'s properties to<flags>.--add-section<name>=<file>β Add section<name>found in<file>to output.--rename-section<old>=<new>[,<flags>]β Rename section<old>to<new>.--long-section-names{enable|disable|keep}β Handle long section names in Coff objects.--change-leading-charβ Force output format's leading character style.--remove-leading-charβ Remove leading character from global symbols.--reverse-bytes=<num>β Reverse<num>bytes at a time, in output sections with content.--redefine-sym<old>=<new>β Redefine symbol name<old>to<new>.--redefine-syms<file>β--redefine-symfor all symbol pairs listed in<file>.--srec-len<number>β Restrict the length of generated Srecords.--srec-forceS3β Restrict the type of generated Srecords to S3.--strip-symbols<file>β-Nfor all symbols listed in<file>.--strip-unneeded-symbols<file>β--strip-unneeded-symbolfor all symbols listed in<file>.--keep-symbols<file>β-Kfor all symbols listed in<file>.--localize-symbols<file>β-Lfor all symbols listed in<file>.--globalize-symbols<file>β--globalize-symbolfor all in<file>.--keep-global-symbols<file>β-Gfor all symbols listed in<file>.--weaken-symbols<file>β-Wfor all symbols listed in<file>.--alt-machine-code<index>β Use the target's<index>'th alternative machine.--writable-textβ Mark the output text as writable.--readonly-textβ Make the output text write protected.--pureβ Mark the output file as demand paged.--impureβ Mark the output file as impure.--prefix-symbols<prefix>β Add<prefix>to start of every symbol name.--prefix-sections<prefix>β Add<prefix>to start of every section name.--prefix-alloc-sections<prefix>β Add<prefix>to start of every allocatable section name.--file-alignment<num>β Set PE file alignment to<num>.--heap<reserve>[,<commit>]β Set PE reserve/commit heap to<reserve>/<commit>.--image-base<address>β Set PE image base to<address>.--section-alignment<num>β Set PE section alignment to<num>.--stack<reserve>[,<commit>]β Set PE reserve/commit stack to<reserve>/<commit>.--subsystem<name>[:<version>]β Set PE subsystem to<name>[&<version>].--compress-debug-sectionsβ Compress DWARF debug sections using zlib.--decompress-debug-sectionsβ Decompress DWARF debug sections using zlib.-v,--verboseβ List all object files modified.@<file>β Read options from<file>.-V,--versionβ Display this program's version number.-h,--helpβ Display this output.--infoβ List object formats & architectures supported.
and look at this lil receipt, it's literally the program telling you what it can do:
/usr/bin/sdobjcopy: supported targets: asxxxx srec symbolsrec binary ihex
π REPORTING BUGS π
Found a bug? first of all, no cap, sorry bestie π Report bugs to:
<http://sourceforge.net/tracker/?group_id=599@report_bugs_to@atid=100599>
π COPYRIGHT π
Copyright 2012 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty.
β οΈ okay so "absolutely no warranty" is not a vibe, it's a fact β no warranty, periodt. don't come for them.
π SEE ALSO π
The full documentation for objcopy is maintained as a Texinfo manual. If the info and objcopy programs are properly installed at your site, the command
info objcopy
should give you access to the complete manual. β¨ go read it, iykyk.
and that's the whole page, bestie β this is the OBJCOPY(1) page from the General Commands Manual (section 1), part of SDCC, Β© 2012 Free Software Foundation, Inc. π¦π
stay iconic, stay stripped, bye!! π«Ά
π¦ where this page comes from
- debian bookworm: sdcc 4.2.0+dfsg-1
- debian trixie: sdcc 4.5.0+dfsg-1
- ubuntu jammy: sdcc 4.0.0+dfsg-2
- ubuntu noble: sdcc 4.2.0+dfsg-1
- ubuntu questing: sdcc 4.5.0+dfsg-1
- ubuntu resolute: sdcc 4.5.0+dfsg-4
- ubuntu stonking: sdcc 4.5.0+dfsg-4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms