arm-linux-objcopy.1
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:32k
- ." Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
- ."
- ." Standard preamble:
- ." ========================================================================
- .de Sh " Subsection heading
- .br
- .if t .Sp
- .ne 5
- .PP
- fB\$1fR
- .PP
- ..
- .de Sp " Vertical space (when we can't use .PP)
- .if t .sp .5v
- .if n .sp
- ..
- .de Vb " Begin verbatim text
- .ft CW
- .nf
- .ne \$1
- ..
- .de Ve " End verbatim text
- .ft R
- .fi
- ..
- ." Set up some character translations and predefined strings. *(-- will
- ." give an unbreakable dash, *(PI will give pi, *(L" will give a left
- ." double quote, and *(R" will give a right double quote. | will give a
- ." real vertical bar. *(C+ will give a nicer C++. Capital omega is used to
- ." do unbreakable dashes and therefore won't be available. *(C` and *(C'
- ." expand to `' in nroff, nothing in troff, for use with C<>.
- .tr (*W-|(bv*(Tr
- .ds C+ Cv'-.1v'h'-1p's-2+h'-1p'+s0v'.1v'h'-1p'
- .ie n {
- . ds -- (*W-
- . ds PI pi
- . if (n(.H=4u)&(1m=24u) .ds -- (*Wh'-12u'(*Wh'-12u'-" diablo 10 pitch
- . if (n(.H=4u)&(1m=20u) .ds -- (*Wh'-12u'(*Wh'-8u'-" diablo 12 pitch
- . ds L" ""
- . ds R" ""
- . ds C` ""
- . ds C' ""
- 'br}
- .el{
- . ds -- |(em|
- . ds PI (*p
- . ds L" ``
- . ds R" ''
- 'br}
- ."
- ." If the F register is turned on, we'll generate index entries on stderr for
- ." titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
- ." entries marked with X<> in POD. Of course, you'll have to process the
- ." output yourself in some meaningful fashion.
- .if nF {
- . de IX
- . tm Index:\$1t\n%t"\$2"
- ..
- . nr % 0
- . rr F
- .}
- ."
- ." For nroff, turn off justification. Always turn off hyphenation; it makes
- ." way too many mistakes in technical documents.
- .hy 0
- ."
- ." Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
- ." Fear. Run. Save yourself. No user-serviceable parts.
- . " fudge factors for nroff and troff
- .if n {
- . ds #H 0
- . ds #V .8m
- . ds #F .3m
- . ds #[ f1
- . ds #] fP
- .}
- .if t {
- . ds #H ((1u-(\\n(.fu%2u))*.13m)
- . ds #V .6m
- . ds #F 0
- . ds #[ &
- . ds #] &
- .}
- . " simple accents for nroff and troff
- .if n {
- . ds ' &
- . ds ` &
- . ds ^ &
- . ds , &
- . ds ~ ~
- . ds /
- .}
- .if t {
- . ds ' \k:h'-(\n(.wu*8/10-*(#H)''h"|\n:u"
- . ds ` \k:h'-(\n(.wu*8/10-*(#H)'`h'|\n:u'
- . ds ^ \k:h'-(\n(.wu*10/11-*(#H)'^h'|\n:u'
- . ds , \k:h'-(\n(.wu*8/10)',h'|\n:u'
- . ds ~ \k:h'-(\n(.wu-*(#H-.1m)'~h'|\n:u'
- . ds / \k:h'-(\n(.wu*8/10-*(#H)'z(slh'|\n:u'
- .}
- . " troff and (daisy-wheel) nroff accents
- .ds : \k:h'-(\n(.wu*8/10-*(#H+.1m+*(#F)'v'-*(#V'z.h'.2m+*(#F'.h'|\n:u'v'*(#V'
- .ds 8 h'*(#H'(*bh'-*(#H'
- .ds o \k:h'-(\n(.wu+w'(de'u-*(#H)/2u'v'-.3n'*(#[z(dev'.3n'h'|\n:u'*(#]
- .ds d- h'*(#H'(pdh'-w'~'u'v'-.25m'f2(hyfPv'.25m'h'-*(#H'
- .ds D- D\k:h'-w'D'u'v'-.11m'z(hyv'.11m'h'|\n:u'
- .ds th *(#[v'.3m's+1Is-1v'-.3m'h'-(w'I'u*2/3)'s-1os+1*(#]
- .ds Th *(#[s+2Is-2h'-w'I'u*3/5'v'-.3m'ov'.3m'*(#]
- .ds ae ah'-(w'a'u*4/10)'e
- .ds Ae Ah'-(w'A'u*4/10)'E
- . " corrections for vroff
- .if v .ds ~ \k:h'-(\n(.wu*9/10-*(#H)'s-2u~ds+2h'|\n:u'
- .if v .ds ^ \k:h'-(\n(.wu*10/11-*(#H)'v'-.4m'^v'.4m'h'|\n:u'
- . " for low resolution devices (crt and lpr)
- .if n(.H>23 .if n(.V>19
- {
- . ds : e
- . ds 8 ss
- . ds o a
- . ds d- dh'-1'(ga
- . ds D- Dh'-1'(hy
- . ds th o'bp'
- . ds Th o'LP'
- . ds ae ae
- . ds Ae AE
- .}
- .rm #[ #] #H #V #F C
- ." ========================================================================
- ."
- .IX Title "OBJCOPY 1"
- .TH OBJCOPY 1 "2005-04-20" "binutils-2.15.97" "GNU Development Tools"
- .SH "NAME"
- objcopy - copy and translate object files
- .SH "SYNOPSIS"
- .IX Header "SYNOPSIS"
- objcopy [fB-FfR fIbfdnamefR|fB--target=fRfIbfdnamefR]
- [fB-IfR fIbfdnamefR|fB--input-target=fRfIbfdnamefR]
- [fB-OfR fIbfdnamefR|fB--output-target=fRfIbfdnamefR]
- [fB-BfR fIbfdarchfR|fB--binary-architecture=fRfIbfdarchfR]
- [fB-SfR|fB--strip-allfR]
- [fB-gfR|fB--strip-debugfR]
- [fB-KfR fIsymbolnamefR|fB--keep-symbol=fRfIsymbolnamefR]
- [fB-NfR fIsymbolnamefR|fB--strip-symbol=fRfIsymbolnamefR]
- [fB--strip-unneeded-symbol=fRfIsymbolnamefR]
- [fB-GfR fIsymbolnamefR|fB--keep-global-symbol=fRfIsymbolnamefR]
- [fB-LfR fIsymbolnamefR|fB--localize-symbol=fRfIsymbolnamefR]
- [fB-WfR fIsymbolnamefR|fB--weaken-symbol=fRfIsymbolnamefR]
- [fB-wfR|fB--wildcardfR]
- [fB-xfR|fB--discard-allfR]
- [fB-XfR|fB--discard-localsfR]
- [fB-bfR fIbytefR|fB--byte=fRfIbytefR]
- [fB-ifR fIinterleavefR|fB--interleave=fRfIinterleavefR]
- [fB-jfR fIsectionnamefR|fB--only-section=fRfIsectionnamefR]
- [fB-RfR fIsectionnamefR|fB--remove-section=fRfIsectionnamefR]
- [fB-pfR|fB--preserve-datesfR]
- [fB--debuggingfR]
- [fB--gap-fill=fRfIvalfR]
- [fB--pad-to=fRfIaddressfR]
- [fB--set-start=fRfIvalfR]
- [fB--adjust-start=fRfIincrfR]
- [fB--change-addresses=fRfIincrfR]
- [fB--change-section-addressfR fIsectionfR{=,+,-}fIvalfR]
- [fB--change-section-lmafR fIsectionfR{=,+,-}fIvalfR]
- [fB--change-section-vmafR fIsectionfR{=,+,-}fIvalfR]
- [fB--change-warningsfR] [fB--no-change-warningsfR]
- [fB--set-section-flagsfR fIsectionfR=fIflagsfR]
- [fB--add-sectionfR fIsectionnamefR=fIfilenamefR]
- [fB--rename-sectionfR fIoldnamefR=fInewnamefR[,fIflagsfR]]
- [fB--change-leading-charfR] [fB--remove-leading-charfR]
- [fB--srec-len=fRfIivalfR] [fB--srec-forceS3fR]
- [fB--redefine-symfR fIoldfR=fInewfR]
- [fB--redefine-syms=fRfIfilenamefR]
- [fB--weakenfR]
- [fB--keep-symbols=fRfIfilenamefR]
- [fB--strip-symbols=fRfIfilenamefR]
- [fB--strip-unneeded-symbols=fRfIfilenamefR]
- [fB--keep-global-symbols=fRfIfilenamefR]
- [fB--localize-symbols=fRfIfilenamefR]
- [fB--weaken-symbols=fRfIfilenamefR]
- [fB--alt-machine-code=fRfIindexfR]
- [fB--prefix-symbols=fRfIstringfR]
- [fB--prefix-sections=fRfIstringfR]
- [fB--prefix-alloc-sections=fRfIstringfR]
- [fB--add-gnu-debuglink=fRfIpath-to-filefR]
- [fB--only-keep-debugfR]
- [fB--writable-textfR]
- [fB--readonly-textfR]
- [fB--purefR]
- [fB--impurefR]
- [fB-vfR|fB--verbosefR]
- [fB-VfR|fB--versionfR]
- [fB--helpfR] [fB--infofR]
- fIinfilefR [fIoutfilefR]
- .SH "DESCRIPTION"
- .IX Header "DESCRIPTION"
- The s-1GNUs0 fBobjcopyfR utility copies the contents of an object
- file to another. fBobjcopyfR uses the s-1GNUs0 s-1BFDs0 Library to
- read and write the object files. It can write the destination object
- file in a format different from that of the source object file. The
- exact behavior of fBobjcopyfR is controlled by command-line options.
- Note that fBobjcopyfR should be able to copy a fully linked file
- between any two formats. However, copying a relocatable object file
- between any two formats may not work as expected.
- .PP
- &fBobjcopyfR creates temporary files to do its translations and
- deletes them afterward. fBobjcopyfR uses s-1BFDs0 to do all its
- translation work; it has access to all the formats described in s-1BFDs0
- and thus is able to recognize most formats without being told
- explicitly.
- .PP
- &fBobjcopyfR can be used to generate S-records by using an output
- target of fBsrecfR (e.g., use fB-O srecfR).
- .PP
- &fBobjcopyfR can be used to generate a raw binary file by using an
- output target of fBbinaryfR (e.g., use fB-O binaryfR). When
- &fBobjcopyfR generates a raw binary file, it will essentially produce
- a memory dump of the contents of the input object file. All symbols and
- relocation information will be discarded. The memory dump will start at
- the load address of the lowest section copied into the output file.
- .PP
- When generating an S-record or a raw binary file, it may be helpful to
- use fB-SfR to remove sections containing debugging information. In
- some cases fB-RfR will be useful to remove sections which contain
- information that is not needed by the binary file.
- .PP
- Note---fBobjcopyfR is not able to change the endianness of its input
- files. If the input format has an endianness (some formats do not),
- &fBobjcopyfR can only copy the inputs into file formats that have the
- same endianness or which have no endianness (e.g., fBsrecfR).
- .SH "OPTIONS"
- .IX Header "OPTIONS"
- .IP "fIinfilefR" 4
- .IX Item "infile"
- .PD 0
- .IP "fIoutfilefR" 4
- .IX Item "outfile"
- .PD
- The input and output files, respectively.
- If you do not specify fIoutfilefR, fBobjcopyfR creates a
- temporary file and destructively renames the result with
- the name of fIinfilefR.
- .IP "fB-IfR fIbfdnamefR" 4
- .IX Item "-I bfdname"
- .PD 0
- .IP "fB--input-target=fRfIbfdnamefR" 4
- .IX Item "--input-target=bfdname"
- .PD
- Consider the source file's object format to be fIbfdnamefR, rather than
- attempting to deduce it.
- .IP "fB-OfR fIbfdnamefR" 4
- .IX Item "-O bfdname"
- .PD 0
- .IP "fB--output-target=fRfIbfdnamefR" 4
- .IX Item "--output-target=bfdname"
- .PD
- Write the output file using the object format fIbfdnamefR.
- .IP "fB-FfR fIbfdnamefR" 4
- .IX Item "-F bfdname"
- .PD 0
- .IP "fB--target=fRfIbfdnamefR" 4
- .IX Item "--target=bfdname"
- .PD
- Use fIbfdnamefR as the object format for both the input and the output
- file; i.e., simply transfer data from source to destination with no
- translation.
- .IP "fB-BfR fIbfdarchfR" 4
- .IX Item "-B bfdarch"
- .PD 0
- .IP "fB--binary-architecture=fRfIbfdarchfR" 4
- .IX Item "--binary-architecture=bfdarch"
- .PD
- Useful when transforming a raw binary input file into an object file.
- In this case the output architecture can be set to fIbfdarchfR. This
- option will be ignored if the input file has a known fIbfdarchfR. You
- can access this binary data inside a program by referencing the special
- symbols that are created by the conversion process. These symbols are
- called _binary_fIobjfilefR_start, _binary_fIobjfilefR_end and
- _binary_fIobjfilefR_size. e.g. you can transform a picture file into
- an object file and then access it in your code using these symbols.
- .IP "fB-jfR fIsectionnamefR" 4
- .IX Item "-j sectionname"
- .PD 0
- .IP "fB--only-section=fRfIsectionnamefR" 4
- .IX Item "--only-section=sectionname"
- .PD
- Copy only the named section from the input file to the output file.
- This option may be given more than once. Note that using this option
- inappropriately may make the output file unusable.
- .IP "fB-RfR fIsectionnamefR" 4
- .IX Item "-R sectionname"
- .PD 0
- .IP "fB--remove-section=fRfIsectionnamefR" 4
- .IX Item "--remove-section=sectionname"
- .PD
- Remove any section named fIsectionnamefR from the output file. This
- option may be given more than once. Note that using this option
- inappropriately may make the output file unusable.
- .IP "fB-SfR" 4
- .IX Item "-S"
- .PD 0
- .IP "fB--strip-allfR" 4
- .IX Item "--strip-all"
- .PD
- Do not copy relocation and symbol information from the source file.
- .IP "fB-gfR" 4
- .IX Item "-g"
- .PD 0
- .IP "fB--strip-debugfR" 4
- .IX Item "--strip-debug"
- .PD
- Do not copy debugging symbols or sections from the source file.
- .IP "fB--strip-unneededfR" 4
- .IX Item "--strip-unneeded"
- Strip all symbols that are not needed for relocation processing.
- .IP "fB-KfR fIsymbolnamefR" 4
- .IX Item "-K symbolname"
- .PD 0
- .IP "fB--keep-symbol=fRfIsymbolnamefR" 4
- .IX Item "--keep-symbol=symbolname"
- .PD
- Copy only symbol fIsymbolnamefR from the source file. This option may
- be given more than once.
- .IP "fB-NfR fIsymbolnamefR" 4
- .IX Item "-N symbolname"
- .PD 0
- .IP "fB--strip-symbol=fRfIsymbolnamefR" 4
- .IX Item "--strip-symbol=symbolname"
- .PD
- Do not copy symbol fIsymbolnamefR from the source file. This option
- may be given more than once.
- .IP "fB--strip-unneeded-symbol=fRfIsymbolnamefR" 4
- .IX Item "--strip-unneeded-symbol=symbolname"
- Do not copy symbol fIsymbolnamefR from the source file unless it is needed
- by a relocation. This option may be given more than once.
- .IP "fB-GfR fIsymbolnamefR" 4
- .IX Item "-G symbolname"
- .PD 0
- .IP "fB--keep-global-symbol=fRfIsymbolnamefR" 4
- .IX Item "--keep-global-symbol=symbolname"
- .PD
- Keep only symbol fIsymbolnamefR global. Make all other symbols local
- to the file, so that they are not visible externally. This option may
- be given more than once.
- .IP "fB-LfR fIsymbolnamefR" 4
- .IX Item "-L symbolname"
- .PD 0
- .IP "fB--localize-symbol=fRfIsymbolnamefR" 4
- .IX Item "--localize-symbol=symbolname"
- .PD
- Make symbol fIsymbolnamefR local to the file, so that it is not
- visible externally. This option may be given more than once.
- .IP "fB-WfR fIsymbolnamefR" 4
- .IX Item "-W symbolname"
- .PD 0
- .IP "fB--weaken-symbol=fRfIsymbolnamefR" 4
- .IX Item "--weaken-symbol=symbolname"
- .PD
- Make symbol fIsymbolnamefR weak. This option may be given more than once.
- .IP "fB-wfR" 4
- .IX Item "-w"
- .PD 0
- .IP "fB--wildcardfR" 4
- .IX Item "--wildcard"
- .PD
- Permit regular expressions in fIsymbolnamefRs used in other command
- line options. The question mark (?), asterisk (*), backslash (e) and
- square brackets ([]) operators can be used anywhere in the symbol
- name. If the first character of the symbol name is the exclamation
- point (!) then the sense of the switch is reversed for that symbol.
- For example:
- .Sp
- .Vb 1
- & -w -W !foo -W fo*
- .Ve
- .Sp
- would cause objcopy to weaken all symbols that start with ``fo''
- except for the symbol ``foo''.
- .IP "fB-xfR" 4
- .IX Item "-x"
- .PD 0
- .IP "fB--discard-allfR" 4
- .IX Item "--discard-all"
- .PD
- Do not copy non-global symbols from the source file.
- .IP "fB-XfR" 4
- .IX Item "-X"
- .PD 0
- .IP "fB--discard-localsfR" 4
- .IX Item "--discard-locals"
- .PD
- Do not copy compiler-generated local symbols.
- (These usually start with fBLfR or fB.fR.)
- .IP "fB-bfR fIbytefR" 4
- .IX Item "-b byte"
- .PD 0
- .IP "fB--byte=fRfIbytefR" 4
- .IX Item "--byte=byte"
- .PD
- Keep only every fIbytefRth byte of the input file (header data is not
- affected). fIbytefR can be in the range from 0 to fIinterleavefR-1,
- where fIinterleavefR is given by the fB-ifR or fB--interleavefR
- option, or the default of 4. This option is useful for creating files
- to program s-1ROMs0. It is typically used with an f(CW*(C`srec*(C'fR output
- target.
- .IP "fB-ifR fIinterleavefR" 4
- .IX Item "-i interleave"
- .PD 0
- .IP "fB--interleave=fRfIinterleavefR" 4
- .IX Item "--interleave=interleave"
- .PD
- Only copy one out of every fIinterleavefR bytes. Select which byte to
- copy with the fB-bfR or fB--bytefR option. The default is 4.
- &fBobjcopyfR ignores this option if you do not specify either fB-bfR or
- &fB--bytefR.
- .IP "fB-pfR" 4
- .IX Item "-p"
- .PD 0
- .IP "fB--preserve-datesfR" 4
- .IX Item "--preserve-dates"
- .PD
- Set the access and modification dates of the output file to be the same
- as those of the input file.
- .IP "fB--debuggingfR" 4
- .IX Item "--debugging"
- Convert debugging information, if possible. This is not the default
- because only certain debugging formats are supported, and the
- conversion process can be time consuming.
- .IP "fB--gap-fillfR fIvalfR" 4
- .IX Item "--gap-fill val"
- Fill gaps between sections with fIvalfR. This operation applies to
- the fIload addressfR (s-1LMAs0) of the sections. It is done by increasing
- the size of the section with the lower address, and filling in the extra
- space created with fIvalfR.
- .IP "fB--pad-tofR fIaddressfR" 4
- .IX Item "--pad-to address"
- Pad the output file up to the load address fIaddressfR. This is
- done by increasing the size of the last section. The extra space is
- filled in with the value specified by fB--gap-fillfR (default zero).
- .IP "fB--set-startfR fIvalfR" 4
- .IX Item "--set-start val"
- Set the start address of the new file to fIvalfR. Not all object file
- formats support setting the start address.
- .IP "fB--change-startfR fIincrfR" 4
- .IX Item "--change-start incr"
- .PD 0
- .IP "fB--adjust-startfR fIincrfR" 4
- .IX Item "--adjust-start incr"
- .PD
- Change the start address by adding fIincrfR. Not all object file
- formats support setting the start address.
- .IP "fB--change-addressesfR fIincrfR" 4
- .IX Item "--change-addresses incr"
- .PD 0
- .IP "fB--adjust-vmafR fIincrfR" 4
- .IX Item "--adjust-vma incr"
- .PD
- Change the s-1VMAs0 and s-1LMAs0 addresses of all sections, as well as the start
- address, by adding fIincrfR. Some object file formats do not permit
- section addresses to be changed arbitrarily. Note that this does not
- relocate the sections; if the program expects sections to be loaded at a
- certain address, and this option is used to change the sections such
- that they are loaded at a different address, the program may fail.
- .IP "fB--change-section-addressfR fIsectionfRfB{=,+,-}fRfIvalfR" 4
- .IX Item "--change-section-address section{=,+,-}val"
- .PD 0
- .IP "fB--adjust-section-vmafR fIsectionfRfB{=,+,-}fRfIvalfR" 4
- .IX Item "--adjust-section-vma section{=,+,-}val"
- .PD
- Set or change both the s-1VMAs0 address and the s-1LMAs0 address of the named
- &fIsectionfR. If fB=fR is used, the section address is set to
- &fIvalfR. Otherwise, fIvalfR is added to or subtracted from the
- section address. See the comments under fB--change-addressesfR,
- above. If fIsectionfR does not exist in the input file, a warning will
- be issued, unless fB--no-change-warningsfR is used.
- .IP "fB--change-section-lmafR fIsectionfRfB{=,+,-}fRfIvalfR" 4
- .IX Item "--change-section-lma section{=,+,-}val"
- Set or change the s-1LMAs0 address of the named fIsectionfR. The s-1LMAs0
- address is the address where the section will be loaded into memory at
- program load time. Normally this is the same as the s-1VMAs0 address, which
- is the address of the section at program run time, but on some systems,
- especially those where a program is held in s-1ROMs0, the two can be
- different. If fB=fR is used, the section address is set to
- &fIvalfR. Otherwise, fIvalfR is added to or subtracted from the
- section address. See the comments under fB--change-addressesfR,
- above. If fIsectionfR does not exist in the input file, a warning
- will be issued, unless fB--no-change-warningsfR is used.
- .IP "fB--change-section-vmafR fIsectionfRfB{=,+,-}fRfIvalfR" 4
- .IX Item "--change-section-vma section{=,+,-}val"
- Set or change the s-1VMAs0 address of the named fIsectionfR. The s-1VMAs0
- address is the address where the section will be located once the
- program has started executing. Normally this is the same as the s-1LMAs0
- address, which is the address where the section will be loaded into
- memory, but on some systems, especially those where a program is held in
- &s-1ROMs0, the two can be different. If fB=fR is used, the section address
- is set to fIvalfR. Otherwise, fIvalfR is added to or subtracted
- from the section address. See the comments under
- &fB--change-addressesfR, above. If fIsectionfR does not exist in
- the input file, a warning will be issued, unless
- &fB--no-change-warningsfR is used.
- .IP "fB--change-warningsfR" 4
- .IX Item "--change-warnings"
- .PD 0
- .IP "fB--adjust-warningsfR" 4
- .IX Item "--adjust-warnings"
- .PD
- If fB--change-section-addressfR or fB--change-section-lmafR or
- &fB--change-section-vmafR is used, and the named section does not
- exist, issue a warning. This is the default.
- .IP "fB--no-change-warningsfR" 4
- .IX Item "--no-change-warnings"
- .PD 0
- .IP "fB--no-adjust-warningsfR" 4
- .IX Item "--no-adjust-warnings"
- .PD
- Do not issue a warning if fB--change-section-addressfR or
- &fB--adjust-section-lmafR or fB--adjust-section-vmafR is used, even
- if the named section does not exist.
- .IP "fB--set-section-flagsfR fIsectionfRfB=fRfIflagsfR" 4
- .IX Item "--set-section-flags section=flags"
- Set the flags for the named section. The fIflagsfR argument is a
- comma separated string of flag names. The recognized names are
- &fBallocfR, fBcontentsfR, fBloadfR, fBnoloadfR,
- &fBreadonlyfR, fBcodefR, fBdatafR, fBromfR, fBsharefR, and
- &fBdebugfR. You can set the fBcontentsfR flag for a section which
- does not have contents, but it is not meaningful to clear the
- &fBcontentsfR flag of a section which does have contents*(--just remove
- the section instead. Not all flags are meaningful for all object file
- formats.
- .IP "fB--add-sectionfR fIsectionnamefRfB=fRfIfilenamefR" 4
- .IX Item "--add-section sectionname=filename"
- Add a new section named fIsectionnamefR while copying the file. The
- contents of the new section are taken from the file fIfilenamefR. The
- size of the section will be the size of the file. This option only
- works on file formats which can support sections with arbitrary names.
- .IP "fB--rename-sectionfR fIoldnamefRfB=fRfInewnamefRfB[,fRfIflagsfRfB]fR" 4
- .IX Item "--rename-section oldname=newname[,flags]"
- Rename a section from fIoldnamefR to fInewnamefR, optionally
- changing the section's flags to fIflagsfR in the process. This has
- the advantage over usng a linker script to perform the rename in that
- the output stays as an object file and does not become a linked
- executable.
- .Sp
- This option is particularly helpful when the input format is binary,
- since this will always create a section called .data. If for example,
- you wanted instead to create a section called .rodata containing binary
- data you could use the following command line to achieve it:
- .Sp
- .Vb 3
- & objcopy -I binary -O <output_format> -B <architecture> e
- & --rename-section .data=.rodata,alloc,load,readonly,data,contents e
- & <input_binary_file> <output_object_file>
- .Ve
- .IP "fB--change-leading-charfR" 4
- .IX Item "--change-leading-char"
- Some object file formats use special characters at the start of
- symbols. The most common such character is underscore, which compilers
- often add before every symbol. This option tells fBobjcopyfR to
- change the leading character of every symbol when it converts between
- object file formats. If the object file formats use the same leading
- character, this option has no effect. Otherwise, it will add a
- character, or remove a character, or change a character, as
- appropriate.
- .IP "fB--remove-leading-charfR" 4
- .IX Item "--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. The
- most common symbol leading character is underscore. This option will
- remove a leading underscore from all global symbols. This can be useful
- if you want to link together objects of different file formats with
- different conventions for symbol names. This is different from
- &fB--change-leading-charfR because it always changes the symbol name
- when appropriate, regardless of the object file format of the output
- file.
- .IP "fB--srec-len=fRfIivalfR" 4
- .IX Item "--srec-len=ival"
- Meaningful only for srec output. Set the maximum length of the Srecords
- being produced to fIivalfR. This length covers both address, data and
- crc fields.
- .IP "fB--srec-forceS3fR" 4
- .IX Item "--srec-forceS3"
- Meaningful only for srec output. Avoid generation of S1/S2 records,
- creating S3-only record format.
- .IP "fB--redefine-symfR fIoldfRfB=fRfInewfR" 4
- .IX Item "--redefine-sym old=new"
- Change the name of a symbol fIoldfR, to fInewfR. This can be useful
- when one is trying link two things together for which you have no
- source, and there are name collisions.
- .IP "fB--redefine-syms=fRfIfilenamefR" 4
- .IX Item "--redefine-syms=filename"
- Apply fB--redefine-symfR to each symbol pair "fIoldfR fInewfR"
- listed in the file fIfilenamefR. fIfilenamefR is simply a flat file,
- with one symbol pair per line. Line comments may be introduced by the hash
- character. This option may be given more than once.
- .IP "fB--weakenfR" 4
- .IX Item "--weaken"
- Change all global symbols in the file to be weak. This can be useful
- when building an object which will be linked against other objects using
- the fB-RfR option to the linker. This option is only effective when
- using an object file format which supports weak symbols.
- .IP "fB--keep-symbols=fRfIfilenamefR" 4
- .IX Item "--keep-symbols=filename"
- Apply fB--keep-symbolfR option to each symbol listed in the file
- &fIfilenamefR. fIfilenamefR is simply a flat file, with one symbol
- name per line. Line comments may be introduced by the hash character.
- This option may be given more than once.
- .IP "fB--strip-symbols=fRfIfilenamefR" 4
- .IX Item "--strip-symbols=filename"
- Apply fB--strip-symbolfR option to each symbol listed in the file
- &fIfilenamefR. fIfilenamefR is simply a flat file, with one symbol
- name per line. Line comments may be introduced by the hash character.
- This option may be given more than once.
- .IP "fB--strip-unneeded-symbols=fRfIfilenamefR" 4
- .IX Item "--strip-unneeded-symbols=filename"
- Apply fB--strip-unneeded-symbolfR option to each symbol listed in
- the file fIfilenamefR. fIfilenamefR is simply a flat file, with one
- symbol name per line. Line comments may be introduced by the hash
- character. This option may be given more than once.
- .IP "fB--keep-global-symbols=fRfIfilenamefR" 4
- .IX Item "--keep-global-symbols=filename"
- Apply fB--keep-global-symbolfR option to each symbol listed in the
- file fIfilenamefR. fIfilenamefR is simply a flat file, with one
- symbol name per line. Line comments may be introduced by the hash
- character. This option may be given more than once.
- .IP "fB--localize-symbols=fRfIfilenamefR" 4
- .IX Item "--localize-symbols=filename"
- Apply fB--localize-symbolfR option to each symbol listed in the file
- &fIfilenamefR. fIfilenamefR is simply a flat file, with one symbol
- name per line. Line comments may be introduced by the hash character.
- This option may be given more than once.
- .IP "fB--weaken-symbols=fRfIfilenamefR" 4
- .IX Item "--weaken-symbols=filename"
- Apply fB--weaken-symbolfR option to each symbol listed in the file
- &fIfilenamefR. fIfilenamefR is simply a flat file, with one symbol
- name per line. Line comments may be introduced by the hash character.
- This option may be given more than once.
- .IP "fB--alt-machine-code=fRfIindexfR" 4
- .IX Item "--alt-machine-code=index"
- If the output architecture has alternate machine codes, use the
- &fIindexfRth code instead of the default one. This is useful in case
- a machine is assigned an official code and the tool-chain adopts the
- new code, but other applications still depend on the original code
- being used.
- .IP "fB--writable-textfR" 4
- .IX Item "--writable-text"
- Mark the output text as writable. This option isn't meaningful for all
- object file formats.
- .IP "fB--readonly-textfR" 4
- .IX Item "--readonly-text"
- Make the output text write protected. This option isn't meaningful for all
- object file formats.
- .IP "fB--purefR" 4
- .IX Item "--pure"
- Mark the output file as demand paged. This option isn't meaningful for all
- object file formats.
- .IP "fB--impurefR" 4
- .IX Item "--impure"
- Mark the output file as impure. This option isn't meaningful for all
- object file formats.
- .IP "fB--prefix-symbols=fRfIstringfR" 4
- .IX Item "--prefix-symbols=string"
- Prefix all symbols in the output file with fIstringfR.
- .IP "fB--prefix-sections=fRfIstringfR" 4
- .IX Item "--prefix-sections=string"
- Prefix all section names in the output file with fIstringfR.
- .IP "fB--prefix-alloc-sections=fRfIstringfR" 4
- .IX Item "--prefix-alloc-sections=string"
- Prefix all the names of all allocated sections in the output file with
- &fIstringfR.
- .IP "fB--add-gnu-debuglink=fRfIpath-to-filefR" 4
- .IX Item "--add-gnu-debuglink=path-to-file"
- Creates a .gnu_debuglink section which contains a reference to fIpath-to-filefR
- and adds it to the output file.
- .IP "fB--only-keep-debugfR" 4
- .IX Item "--only-keep-debug"
- Strip a file, removing any sections that would be stripped by
- &fB--strip-debugfR and leaving the debugging sections.
- .Sp
- The intention is that this option will be used in conjunction with
- &fB--add-gnu-debuglinkfR to create a two part executable. One a
- stripped binary which will occupy less space in s-1RAMs0 and in a
- distribution and the second a debugging information file which is only
- needed if debugging abilities are required. The suggested procedure
- to create these files is as follows:
- .RS 4
- .IP "1.<Link the executable as normal. Assuming that is is called>" 4
- .IX Item "1.<Link the executable as normal. Assuming that is is called>"
- &f(CW*(C`foo*(C'fR then...
- .ie n .IP "1.<Run ""objcopy --only-keep-debug foo foo.dbg"" to>" 4
- .el .IP "1.<Run f(CWobjcopy --only-keep-debug foo foo.dbgfR to>" 4
- .IX Item "1.<Run objcopy --only-keep-debug foo foo.dbg to>"
- create a file containing the debugging info.
- .ie n .IP "1.<Run ""objcopy --strip-debug foo"" to create a>" 4
- .el .IP "1.<Run f(CWobjcopy --strip-debug foofR to create a>" 4
- .IX Item "1.<Run objcopy --strip-debug foo to create a>"
- stripped executable.
- .ie n .IP "1.<Run ""objcopy --add-gnu-debuglink=foo.dbg foo"">" 4
- .el .IP "1.<Run f(CWobjcopy --add-gnu-debuglink=foo.dbg foofR>" 4
- .IX Item "1.<Run objcopy --add-gnu-debuglink=foo.dbg foo>"
- to add a link to the debugging info into the stripped executable.
- .RE
- .RS 4
- .Sp
- Note - the choice of f(CW*(C`.dbg*(C'fR as an extension for the debug info
- file is arbitrary. Also the f(CW*(C`--only-keep-debug*(C'fR step is
- optional. You could instead do this:
- .IP "1.<Link the executable as normal.>" 4
- .IX Item "1.<Link the executable as normal.>"
- .PD 0
- .ie n .IP "1.<Copy ""foo""fR to f(CW""foo.full"">" 4
- .el .IP "1.<Copy f(CWfoofR to f(CWfoo.fullfR>" 4
- .IX Item "1.<Copy foo to foo.full>"
- .ie n .IP "1.<Run ""objcopy --strip-debug foo"">" 4
- .el .IP "1.<Run f(CWobjcopy --strip-debug foofR>" 4
- .IX Item "1.<Run objcopy --strip-debug foo>"
- .ie n .IP "1.<Run ""objcopy --add-gnu-debuglink=foo.full foo"">" 4
- .el .IP "1.<Run f(CWobjcopy --add-gnu-debuglink=foo.full foofR>" 4
- .IX Item "1.<Run objcopy --add-gnu-debuglink=foo.full foo>"
- .RE
- .RS 4
- .PD
- .Sp
- ie the file pointed to by the fB--add-gnu-debuglinkfR can be the
- full executable. It does not have to be a file created by the
- &fB--only-keep-debugfR switch.
- .RE
- .IP "fB-VfR" 4
- .IX Item "-V"
- .PD 0
- .IP "fB--versionfR" 4
- .IX Item "--version"
- .PD
- Show the version number of fBobjcopyfR.
- .IP "fB-vfR" 4
- .IX Item "-v"
- .PD 0
- .IP "fB--verbosefR" 4
- .IX Item "--verbose"
- .PD
- Verbose output: list all object files modified. In the case of
- archives, fBobjcopy -VfR lists all members of the archive.
- .IP "fB--helpfR" 4
- .IX Item "--help"
- Show a summary of the options to fBobjcopyfR.
- .IP "fB--infofR" 4
- .IX Item "--info"
- Display a list showing all architectures and object formats available.
- .SH "SEE ALSO"
- .IX Header "SEE ALSO"
- &fIldfR|(1), fIobjdumpfR|(1), and the Info entries for fIbinutilsfR.
- .SH "COPYRIGHT"
- .IX Header "COPYRIGHT"
- Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
- .PP
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the s-1GNUs0 Free Documentation License, Version 1.1
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, with no Front-Cover Texts, and with no
- Back-Cover Texts. A copy of the license is included in the
- section entitled ``s-1GNUs0 Free Documentation License''.