elfcopy, objcopy
— copy and translate object
files
elfcopy |
[-I objformat |
-s objformat |
--input-target=objformat]
[-K symbolname |
--keep-symbol=symbolname]
[-L symbolname |
--localize-symbol=symbolname]
[-N symbolname |
--strip-symbol=symbolname]
[-O objformat |
--output-target=objformat]
[-R sectionname |
--remove-section=sectionname]
[-S | --strip-all]
[-V | --version]
[-W symbolname |
--weaken-symbol=symbolname]
[-X | --discard-locals]
[-d | -g |
--strip-debug] [-h |
--help] [-j
sectionname |
--only-section=sectionname]
[-p | --preserve-dates]
[-w | --wildcard]
[-x | --discard-all]
[--add-gnu-debuglink=filename]
[--add-section
sectionname=filename]
[--adjust-section-vma
section{+|-|=}val |
--change-section-address
section{+|-|=}val]
[--adjust-start=increment |
--change-start=increment]
[--adjust-vma=increment |
--change-addresses=increment]
[--adjust-warnings |
--change-warnings]
[--change-section-lma
section{+|-|=}val]
[--change-section-vma
section{+|-|=}val]
[--extract-dwo]
[--gap-fill=val]
[--globalize-symbol=ar symbolname]
[--globalize-symbols=filename]
[--localize-hidden]
[--localize-symbols=filename]
[--no-adjust-warnings |
--no-change-warnings]
[--only-keep-debug]
[--pad-to=address]
[--prefix-alloc-sections=string]
[--prefix-sections=string]
[--prefix-symbols=string]
[--rename-section
oldname=newname[,flags]]
[--set-section-flags
sectionname=flags]
[--set-start=address]
[--srec-forceS3]
[--srec-len=val]
[--strip-dwo]
[--strip-symbols=filename]
[--strip-unneeded] infile
[outfile] |
The elfcopy utility copies the content of
the binary object named by argument infile to that
named by argument outfile, transforming it according
to the command line options specified. If argument
outfile is not specified,
elfcopy will create a temporary file and will
subsequently rename it as infile.
The elfcopy utility supports the following
options:
-I
objformat |
-s
objformat |
--input-target=objformat
- Specify that the input file named by the argument
infile is in the object format specified by the
argument objformat.
-K
symbolname |
--keep-symbol=symbolname
- Copy the symbol named by argument symbolname to the
output.
-L
symbolname |
--localize-symbol=symbolname
- Make the symbol named by argument symbolname local
to the output file.
-N
symbol |
--strip-symbol=symbolname
- Do not copy the symbol named by argument symbolname
to the output.
-O
objformat |
--output-target=objformat
- Write the output file using the object format specified in argument
objformat. The argument
objformat should be one of the target names
recognized by
elftc_bfd_find_target(3).
-R
sectionname |
--remove-section=sectionname
- Remove any section with name sectionname from the
output file.
-S |
--strip-all
- Do not copy symbol and relocation information to the target file.
-V |
--version
- Print a version identifier and exit.
-W
symbolname |
--weaken-symbol=symbolname
- Mark the symbol named by argument symbolname as weak
in the output.
-X |
--discard-locals
- Do not copy compiler generated local symbols to the output.
-d |
-g |
--strip-debug
- Do not copy debugging information to the target file.
-h |
--help
- Display a help message and exit.
-j
sectionname |
--only-section=sectionname
- Copy only the section named by argument sectionname
to the output.
-p |
--preserve-dates
- Set the access and modification times of the output file to the same as
those of the input.
-w |
--wildcard
- Use shell-style patterns to name symbols. The following meta-characters
are recognized in patterns:
- !
- If this is the first character of the pattern, invert the sense of the
pattern match.
*
- Matches any string of characters in a symbol name.
- ?
- Matches zero or one character in a symbol name.
- [
- Mark the start of a character class.
\
- Remove the special meaning of the next character in the pattern.
- ]
- Mark the end of a character class.
-x |
--discard-all
- Do not copy non-global symbols to the output.
--add-gnu-debuglink=filename
- Create a .gnu_debuglink section in the output file that references the
debug data in filename.
--add-section
sectionname=filename
- Add a new section to the output file with name
sectionname. The contents of the section are taken
from the file named by argument filename. The size
of the section will be the number of bytes in file
filename.
--adjust-section-vma
section{+|-|=}val |
--change-section-address
section{+|-|=}val
- Depending on the operator specified, increase, decrease or set both the
virtual memory address and the load memory address of the section named by
the argument section. The argument
val specifies the desired increment, decrement or
new value for the address.
--adjust-start=increment
|
--change-start=increment
- Increase the entry point address of the output ELF object by the value
specified in the argument increment.
--adjust-vma=increment
|
--change-addresses=increment
- Increase the virtual memory address and the load memory address of all
sections by the value specified by the argument
increment.
--adjust-warnings
|
--change-warnings
- Issue a warning if the section specified by the options
--change-section-address,
--change-section-lma or
--change-section-vma does not exist in the input
object. This is the default.
--change-section-lma
section{+|-|=}val
- Change or set the load memory address of the section named by the argument
section. Depending on the operator specified, the
value in argument val will be used as an increment,
a decrement or as the new value of the load memory address.
--change-section-vma
section{+|-|=}val
- Change or set the virtual memory address of the section named by the
argument section. Depending on the operator
specified, the value in argument val will be used as
an increment, a decrement or as the new value of the virtual memory
address.
- Copy only .dwo debug sections to the output file.
--gap-fill=val
- Fill the gaps between sections with the byte value specified by the
argument val.
--globalize-symbol=symbolname
- Make the symbol named by argument symbolname global,
so that it is visible outside of the file in which it is defined.
--globalize-symbols=filename
- Make each symbol listed in the file specified by
filename global.
--localize-hidden
- Make all hidden symbols local to the output file. This includes symbols
with internal visiblity.
--localize-symbols=filename
- Make each symbol listed in the file specified by
filename local to the output file.
--no-adjust-warnings
|
--no-change-warnings
- Do not issue a warning if the section specified by the options
--change-section-address,
--change-section-lma or
--change-section-vma is missing in the input
object.
--only-keep-debug
- Copy only debugging information to the output file.
--pad-to=address
- Pad the load memory address of the output object to the value specified by
the argument address by increasing the size of the
section with the highest load memory address.
--prefix-alloc-sections=string
- Prefix the section names of all the allocated sections with
string.
--prefix-sections=string
- Prefix the section names of all the sections with
string.
--prefix-symbols=string
- Prefix the symbol names of all the symbols with
string.
--rename-section
oldname=newname[,flags]
- Rename the section named by argument oldname to
newname, optionally changing the sections flags to
that specified by argument flags. Allowed values for
the argument flags are as for option
--set-section-flags below.
--set-section-flags
sectionname=flags
- Set the flags for the section named by argument
sectionname to those specified by argument
flags. Argument flags is a
comma separated list of the following flag names:
- alloc
- The section occupies space in the output file.
- code
- The section contains machine instructions.
- contents
- This flag is accepted but is ignored.
- data
- The section contains writeable data.
- debug
- The section holds debugging information.
- load
- The section is loadable.
- noload
- The section should not be loaded into memory.
- readonly
- The section is not writable.
- rom
- The section contains ROM'able contents.
- share
- This flag is accepted but is ignored.
--set-start=address
- Set the start address of the output ELF object to the value specified by
the argument address.
--srec-forceS3
- Only generate S-records of type “S3”. This option is only
meaningful when the output target is set to “srec”.
--srec-len=val
- Set the maximum length of an S-record line to val.
This option is only meaningful when the output target is set to
“srec”.
--strip-dwo
- Do not copy .dwo debug sections to the output file.
--strip-symbols=filename
- Do not copy any of the symbols specified by filename
to the output.
--strip-unneeded
- Do not copy symbols that are not needed for relocation processing.
The elfcopy utility exits 0 on
success, and >0 if an error occurs.
The elfcopy utility is expected to be
option compatible with GNU objcopy.