* arc.h (ARC_MACH_{BASE,HOST,GRAPHICS,AUDIO}): Define.
[deliverable/binutils-gdb.git] / binutils / objcopy.1
... / ...
CommitLineData
1.\" Copyright (c) 1991 Free Software Foundation
2.\" See section COPYING for conditions for redistribution
3.TH objcopy 1 "October 1994" "cygnus support" "GNU Development Tools"
4.de BP
5.sp
6.ti \-.2i
7\(**
8..
9
10.SH NAME
11objcopy \- copy and translate object files
12
13.SH SYNOPSIS
14.hy 0
15.na
16.TP
17.B objcopy
18.RB "[\|" \-F\ \fIbfdname\fB\ |\ \-\-target=\fIbfdname\fR "\|]"
19.RB "[\|" \-I\ \fIbfdname\fB\ |\ \-\-input\-target=\fIbfdname\fR "\|]"
20.RB "[\|" \-O\ \fIbfdname\fB\ |\ \-\-output\-target=\fIbfdname\fR "\|]"
21.RB "[\|" \-R\ \fIsectionname\fB\ |\ \-\-remove\-section=\fIsectionname\fR "\|]"
22.RB "[\|" \-S\ |\ \-\-strip\-all\fR "\|]"
23.RB "[\|" \-g\ |\ \-\-strip\-debug\fR "\|]"
24.RB "[\|" \-N\ \fIsymbolname\fR\ |\ \-\-strip\-symbol=\fIsymbolname\fR "\|]"
25.RB "[\|" \-x\ |\ \-\-discard\-all\fR "\|]"
26.RB "[\|" \-X\ |\ \-\-discard\-locals\fR "\|]"
27.RB "[\|" \-b\ \fIbyte\fR\ |\ \fB\-\-byte=\fIbyte\fR "\|]"
28.RB "[\|" \-i\ \fIinterleave\fR\ |\ \fB\-\-interleave=\fIinterleave\fR "\|]"
29.RB "[\|" \-\-gap\-fill=\fIval\fR "\|]"
30.RB "[\|" \-\-pad\-to=\fIaddress\fR "\|]"
31.RB "[\|" \-\-set\-start=\fIval\fR "\|]"
32.RB "[\|" \-\-adjust\-start=\fIincr\fR "\|]"
33.RB "[\|" \-\-adjust\-vma=\fIincr\fR "\|]"
34.RB "[\|" \-\-adjust\-section\-vma=\fIsection{=,+,-}val\fR "\|]"
35.RB "[\|" \-\-adjust\-warnings\fR "\|]"
36.RB "[\|" \-\-no\-adjust\-warnings\fR "\|]"
37.RB "[\|" \-\-add\-section=\fIsectionname=filename\fR "\|]"
38.RB "[\|" \-v\ |\ \-\-verbose\fR "\|]"
39.RB "[\|" \-V\ |\ \-\-version\fR "\|]"
40.RB "[\|" \-\-help\fR "\|]"
41.B infile
42.RB "[\|" outfile\fR "\|]"
43.SH DESCRIPTION
44The GNU
45.B objcopy
46utility copies the contents of an object file to another.
47.B objcopy
48uses the GNU BFD Library to read and write the object files. It can
49write the destination object file in a format different from that of
50the source object file. The exact behavior of
51.B objcopy
52is controlled by command-line options.
53.PP
54.B objcopy
55creates temporary files to do its translations and deletes them
56afterward.
57.B objcopy
58uses BFD to do all its translation work; it knows about all the
59formats BFD knows about, and thus is able to recognize most formats
60without being told explicitly.
61.PP
62.B objcopy
63can be used to generate S-records by using an output target of
64.B srec
65(e.g., use
66.B -O srec).
67.PP
68.B objcopy
69can be used to generate a raw binary file by using an output target of
70.B binary
71(e.g., use
72.B -O binary).
73When
74.B objcopy
75generates a raw binary file, it will essentially produce a memory dump
76of the contents of the input object file. All symbols and relocation
77information will be discarded. The memory dump will start at the
78virtual address of the lowest section copied into the output file.
79.PP
80When generating an S-record or a raw binary file, it may be helpful to
81use
82.B -S
83to remove sections containing debugging information. In some cases
84.B -R
85will be useful to remove sections which contain information which is
86not needed by the binary file.
87.PP
88.I infile
89and
90.I outfile
91are the source and output files respectively. If you do not specify
92.IR outfile ,
93.B objcopy
94creates a temporary file and destructively renames the result with the
95name of the input file.
96
97.SH OPTIONS
98.TP
99.B \-I \fIbfdname\fR, \fB\-\-input\-target=\fIbfdname
100Consider the source file's object format to be
101.IR bfdname ,
102rather than attempting to deduce it.
103.TP
104.B \-O \fIbfdname\fR, \fB\-\-output\-target=\fIbfdname
105Write the output file using the object format
106.IR bfdname .
107.TP
108.B \-F \fIbfdname\fR, \fB\-\-target=\fIbfdname
109Use
110.I bfdname
111as the object format for both the input and the output file; i.e.
112simply transfer data from source to destination with no translation.
113.TP
114.B \-R \fIsectionname\fR, \fB\-\-remove-section=\fIsectionname
115Remove the named section from the file. This option may be given more
116than once. Note that using this option inappropriately may make the
117output file unusable.
118.TP
119.B \-S\fR, \fB\-\-strip\-all
120Do not copy relocation and symbol information from the source file.
121.TP
122.B \-g\fR, \fB\-\-strip\-debug
123Do not copy debugging symbols from the source file.
124.TP
125.B \-N \fIsymbolname\fR, \fB\-\-strip\-symbol=\fIsymbolname
126Do not copy symbol \fIsymbolname\fP from the source file. This option
127may be given more than once, and may be combined with other strip
128options.
129.TP
130.B \-x\fR, \fB \-\-discard\-all
131Do not copy non-global symbols from the source file.
132.TP
133.B \-X\fR, \fB\-\-discard\-locals
134Do not copy compiler-generated local symbols. (These usually start
135with "L" or ".").
136.TP
137.B \-b \fIbyte\fR, \fB\-\-byte=\fIbyte
138Keep only every \fIbyte\fPth byte of the input file (header data is
139not affected). \fIbyte\fP can be in the range from 0 to the
140interleave-1. This option is useful for creating files to program
141ROMs. It is typically used with an srec output target.
142.TP
143.B \-i \fIinterleave\fR, \fB\-\-interleave=\fIinterleave
144Only copy one out of every \fIinterleave\fP bytes. Which one to copy is
145selected by the \fB\-b\fP or \fB\-\-byte\fP option. The default is 4.
146The interleave is ignored if neither \fB\-b\fP nor \fB\-\-byte\fP is given.
147.TP
148.B \-\-gap\-fill=\fIval
149Fill gaps between sections with \fIval\fP. This is done by increasing
150the size of the section with the lower address, and filling in the extra
151space created with \fIval\fP.
152.TP
153.B \-\-pad\-to=\fIaddress
154Pad the output file up to the virtual address \fIaddress\fP. This is
155done by increasing the size of the last section. The extra space is
156filled in with the value specified by \fB\-\-gap\-fill\fP (default
157zero).
158.TP
159.B \fB\-\-set\-start=\fIval
160Set the start address of the new file to \fIval\fP. Not all object
161file formats support setting the start address.
162.TP
163.B \fB\-\-adjust\-start=\fIincr
164Adjust the start address by adding \fIincr\fP. Not all object file
165formats support setting the start address.
166.TP
167.B \fB\-\-adjust\-vma=\fIincr
168Adjust the address of all sections, as well as the start address, by
169adding \fIincr\fP. Some object file formats do not permit section
170addresses to be changed arbitrarily. Note that this does not relocate
171the sections; if the program expects sections to be loaded at a
172certain address, and this option is used to change the sections such
173that they are loaded at a different address, the program may fail.
174.TP
175.B \fB\-\-adjust\-section\-vma=\fIsection{=,+,-}val
176Set or adjust the address of the named \fIsection\fP. If \fI=\fP is
177used, the section address is set to \fIval\fP. Otherwise, \fIval\fP
178is added to or subtracted from the section address. See the comments
179under \fB\-\-adjust\-vma\fP, above. If \fIsection\fP does not exist
180in the input file, a warning will be issued, unless
181\fB\-\-no\-adjust\-warnings\fP is used.
182.TP
183.B \fB\-\-adjust\-warnings
184If \fB\-\-adjust\-section\-vma\fP is used, and the named section does
185not exist, issue a warning. This is the default.
186.TP
187.B \fB\-\-no\-adjust\-warnings
188Do not issue a warning if \fB\-\-adjust\-section\-vma\fP is used, even
189if the named section does not exist.
190.TP
191.B \fB\-\-add\-section=\fIsectionname=filename
192Add a new section named \fIsectionname\fR while copying the file. The
193contents of the new section are taken from the file \fIfilename\fR.
194The size of the section will be the size of the file. This option
195only works on file formats which can support sections with arbitrary
196names.
197.TP
198.B \-v\fR, \fB\-\-verbose
199Verbose output: list all object files modified. In the case of
200archives, "\fBobjcopy \-V\fR" lists all members of the archive.
201.TP
202.B \-V\fR, \fB\-\-version
203Show the version number of
204.B objcopy
205and exit.
206.TP
207.B \-\-help
208Show a summary of the options to
209.B objcopy
210and exit.
211.SH "SEE ALSO"
212.RB "`\|" binutils "\|'"
213entry in
214.B
215info\c
216\&;
217.I
218The GNU Binary Utilities\c
219\&, Roland H. Pesch (June 1993).
220
221.SH COPYING
222Copyright (c) 1993,1994 Free Software Foundation, Inc.
223.PP
224Permission is granted to make and distribute verbatim copies of
225this manual provided the copyright notice and this permission notice
226are preserved on all copies.
227.PP
228Permission is granted to copy and distribute modified versions of this
229manual under the conditions for verbatim copying, provided that the
230entire resulting derived work is distributed under the terms of a
231permission notice identical to this one.
232.PP
233Permission is granted to copy and distribute translations of this
234manual into another language, under the above conditions for modified
235versions, except that this permission notice may be included in
236translations approved by the Free Software Foundation instead of in
237the original English.
This page took 0.022728 seconds and 4 git commands to generate.