OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / GNU_binutils / release / man1 / objcopy.1
1 .\" Copyright (c) 1991, 93, 94, 95, 96, 1997 Free Software Foundation
2 .\" See section COPYING for conditions for redistribution
3 .\"
4 .\" Japanese Version Copyright (c) 1997-2000 NAKANO Takeo all rights reserved.
5 .\" Translated Mon Jan 5 1998 by NAKANO Takeo <nakano@@apm.seikei.ac.jp>
6 .\" Updated Fri 27 Oct 2000 by NAKANO Takeo
7 .\"
8 .TH objcopy 1 "October 1994" "cygnus support" "GNU Development Tools"
9 .de BP
10 .sp
11 .ti \-.2i
12 \(**
13 ..
14
15 .SH 名前
16 objcopy \- オブジェクトファイルのコピーや変換を行う
17
18 .SH 書式
19 .hy 0
20 .na
21 .TP
22 .B objcopy
23 .RB "[\|" \-F\ \fIbfdname\fR\ |\ \fB\-\-target=\fIbfdname\fR "\|]" 
24 .RB "[\|" \-I\ \fIbfdname\fR\ |\ \fB\-\-input\-target=\fIbfdname\fR "\|]" 
25 .RB "[\|" \-O\ \fIbfdname\fR\ |\ \fB\-\-output\-target=\fIbfdname\fR "\|]" 
26 .RB "[\|" \-R\ \fIsectionname\fR\ |\ \fB\-\-remove\-section=\fIsectionname\fR "\|]"
27 .RB "[\|" \-S\fR\ |\ \fB\-\-strip\-all\fR "\|]" 
28 .RB "[\|" \-g\fR\ |\ \fB\-\-strip\-debug\fR "\|]" 
29 .RB "[\|" \-\-strip\-unneeded\fR "\|]" 
30 .RB "[\|" \-K\ \fIsymbolname\fR\ |\ \fB\-\-keep\-symbol=\fIsymbolname\fR "\|]" 
31 .RB "[\|" \-N\ \fIsymbolname\fR\ |\ \fB\-\-strip\-symbol=\fIsymbolname\fR "\|]" 
32 .RB "[\|" \-L\ \fIsymbolname\fR\ |\ \fB\-\-localize\-symbol=\fIsymbolname\fR "\|]"
33 .RB "[\|" \-W\ \fIsymbolname\fR\ |\ \fB\-\-weaken\-symbol=\fIsymbolname\fR "\|]"
34 .RB "[\|" \-x\fR\ |\ \fB\-\-discard\-all\fR "\|]" 
35 .RB "[\|" \-X\fR\ |\ \fB\-\-discard\-locals\fR "\|]" 
36 .RB "[\|" \-b\ \fIbyte\fR\ |\ \fB\-\-byte=\fIbyte\fR "\|]" 
37 .RB "[\|" \-i\ \fIinterleave\fR\ |\ \fB\-\-interleave=\fIinterleave\fR "\|]" 
38 .RB "[\|" \-p\fR\ |\ \fB\-\-preserve\-dates\fR "\|]" 
39 .RB "[\|" \-\-debugging "\|]"
40 .RB "[\|" \-\-gap\-fill=\fIval\fR "\|]"
41 .RB "[\|" \-\-pad\-to=\fIaddress\fR "\|]"
42 .RB "[\|" \-\-set\-start=\fIval\fR "\|]"
43 .RB "[\|" \-\-adjust\-start=\fIincr\fR "\|]"
44 .RB "[\|" \-\-adjust\-vma=\fIincr\fR "\|]"
45 .RB "[\|" \-\-adjust\-section\-vma=\fIsection{=,+,-}val\fR "\|]"
46 .RB "[\|" \-\-adjust\-warnings\fR "\|]"
47 .RB "[\|" \-\-no\-adjust\-warnings\fR "\|]"
48 .RB "[\|" \-\-set\-section\-flags=\fIsection=flags\fR "\|]"
49 .RB "[\|" \-\-add\-section=\fIsectionname=filename\fR "\|]"
50 .RB "[\|" \-\-change\-leading\-char\fR "\|]"
51 .RB "[\|" \-\-remove\-leading\-char\fR "\|]"
52 .RB "[\|" \-\-weaken\fR "\|]"
53 .RB "[\|" \-v\ |\ \-\-verbose\fR "\|]" 
54 .RB "[\|" \-V\ |\ \-\-version\fR "\|]" 
55 .RB "[\|" \-\-help\fR "\|]" 
56 .B infile
57 .RB "[\|" outfile\fR "\|]" 
58 .SH 説明
59 GNU
60 .B objcopy
61 ユーティリティはオブジェクトファイルの内容を別ファイルにコピーする。
62 .B objcopy
63 はオブジェクトファイルの読み書きに GNU BFD ライブラリを用いる。これに
64 よって書き込み先のファイルのオブジェクトフォーマットを読み込みファイル
65 のフォーマットから変更することができる。
66 .B objcopy
67 の詳細な動作はコマンドラインオプションによって決定される。
68 .PP
69 .B objcopy
70 は変換を行う際に一時ファイルを作成し、動作後にこれを消去する。
71 .B objcopy
72 変換作業はすべて BFD によって行われる。したがって BFD が種々のフォー
73 マットに関して持っているすべての情報を利用することができ、明示しないで
74 もほとんどのフォーマットを認識できる。
75 .PP
76 .B objcopy
77 はターゲットを
78 .B srec
79 に指定する (つまり
80 .B -O srec
81 とする) ことによって S-record を生成することもできる。
82 .PP
83 .B objcopy
84 は出力ターゲットを
85 .B binary
86 に指定する (つまり
87 .B -O binary
88 とする) ことによって raw バイナリファイルを生成することもできる。この
89 際には、基本的には入力オブジェクトファイルの内容のメモリダンプが作られ
90 る。メモリダンプは出力ファイルにコピーされる最抵位のセクションの仮想ア
91 ドレスからスタートする。
92 .PP
93 S-record や raw バイナリファイルを生成する場合に
94 .B \-S
95 を用いれば、デバッグ情報を持つセクションを削除できる。また、バイナリファ
96 イルに不要な情報を持ったセクションを消去するのに
97 .B \-R
98 が役に立つ場合もある。
99 .PP
100 .I infile
101
102 .I outfile
103 はそれぞれ入力・出力ファイルである。
104 .I outfile
105 が指定されないと
106 .B objcopy
107 は一時ファイルを作成し、その結果を入力ファイルの名前にリネームする (す
108 なわちもとの入力ファイルは破壊される)。
109
110 .TP
111 .B \-I \fIbfdname\fR, \fB\-\-input\-target=\fIbfdname
112 入力ファイルのオブジェクトフォーマットを
113 .I bfdname
114 として取り扱う。通常は自動的に認識する。
115 .TP
116 .B \-O \fIbfdname\fR, \fB\-\-output\-target=\fIbfdname
117 出力ファイルのオブジェクトフォーマットを
118 .I bfdname
119 にする。
120 .TP
121 .B \-F \fIbfdname\fR, \fB\-\-target=\fIbfdname
122 入出力ファイルのオブジェクトフォーマットに
123 .I bfdname
124 を用いる。すなわち入力ファイルを変換せずに単に出力ファイルにコピーする。
125 .TP
126 .B \-R \fIsectionname\fR, \fB\-\-remove-section=\fIsectionname
127 指定したセクションをファイルから削除する。このオプションは複数回指定す
128 ることができる。このオプションを誤って用いると、出力ファイルが役立たず
129 になる可能性がある。
130 .TP
131 .B \-S\fR, \fB\-\-strip\-all
132 リロケーション情報とシンボル情報を入力ファイルからコピーしない。
133 .TP
134 .B \-g\fR, \fB\-\-strip\-debug
135 デバッグシンボルを入力ファイルからコピーしない。
136 .TP
137 .B \-\-strip\-unneeded
138 リロケーション処理に不要なシンボルをすべて取り去る。
139 .TP
140 .B \-K \fIsymbolname\fR, \fB\-\-keep\-symbol=\fIsymbolname
141 入力ファイルから \fIsymbolname\fP という名前のシンボルだけをコピーする。
142 複数回指定できる。
143 .TP
144 .B \-N \fIsymbolname\fR, \fB\-\-strip\-symbol=\fIsymbolname
145 入力ファイルの \fIsymbolname\fP という名前のシンボルをコピーしない。
146 複数回指定できる。
147 .TP
148 .B \-L \fIsymbolname\fR, \fB\-\-localize\-symbol=\fIsymbolname
149 .I symbolname
150 をそのファイルにローカルなものにし、外部から見えないようにする。
151 複数回指定できる。
152 .TP
153 .B \-W \fIsymbolname\fR, \fB\-\-weaken\-symbol=\fIsymbolname
154 .I symbolname
155 を weak にする。
156 複数回指定できる。
157 .TP
158 .B \-x\fR, \fB \-\-discard\-all
159 入力ファイルのグローバルでないシンボルはコピーしない。
160 .TP
161 .B \-X\fR, \fB\-\-discard\-locals
162 コンパイラが生成したローカルなシンボル (通常 "L" または 
163 "." ではじまるシンボル) はコピーしない。
164 .TP
165 .B \-b \fIbyte\fR, \fB\-\-byte=\fIbyte
166 入力ファイルを interleave づつ区切った各セクションから \fIbyte\fP バイ
167 ト目だけをコピーする (ヘッダデータは影響されない)。 \fIbyte\fP の範囲は
168 0 から interleave-1 までである。 \fIinterleave\fP の値は
169 .BR \-i "(または" \-\-interleave ")"
170 オプションで指定する。
171 このオプションは ROM プログラム用のファイルを作成するときに便利である。出
172 力ターゲット srec と共に用いられることが多い。
173 .TP
174 .B \-i \fIinterleave\fR, \fB\-\-interleave=\fIinterleave
175 \fIinterleave\fP バイトにつき 1 バイトづつをコピーする。デフォルトは 4
176 である。何番目のバイトをコピーするかは
177 .BR \-b "(または" \-\-byte
178 ) オプションで指定する。 \fB\-b\fP も \fB\-\-bytes\fP も指定されなかっ
179 た場合は interleave は無視される。
180 .TP
181 .B \-p\fR, \fB\-\-preserve\-dates
182 出力ファイルのアクセス時刻と修正時刻を入力ファイルと同じにする。
183 .TP
184 .B \-\-debugging
185 可能ならばデバッグ情報を変換する。このオプションはデフォルトにはなって
186 いない。すべてのデバッグフォーマットがサポートされているわけではないし、
187 この変換には時間がかかるからである。
188 .TP
189 .B \-\-gap\-fill=\fIval
190 セクション間のギャップを \fIval\fP で埋める。この動作は
191 セクションの
192 .I load address
193 (LMA) に適用される。これはセクションのサイズを抵位アドレスの分増やし、
194 その余分を \fIval\fP で埋めることでなされる。
195 .TP
196 .B \-\-pad\-to=\fIaddress
197 出力ファイルをロードアドレス \fIaddress\fP まで水増しする。
198 これは最後のセクションのサイズを増やすことでなされる。
199 余分なスペースは 
200 \fB\-\-gap\-fill\fP で指定された値で埋められる (デフォルトは 0)。
201 .TP
202 .B \fB\-\-set\-start=\fIval
203 新しいファイルのスタートアドレスを \fIval\fP に設定する。すべてのオブ
204 ジェクトファイルフォーマットでこの指定が可能ではないことに注意すること。
205 .TP
206 .B \fB\-\-adjust\-start=\fIincr
207 スタートアドレスを \fIincr\fP だけ増やす。すべてのオブジェクトファイル
208 フォーマットでこの指定が可能ではないことに注意すること。
209 .TP
210 .B \fB\-\-adjust\-vma=\fIincr
211 すべてのセクション (スタートアドレスも含まれる) のアドレスを 
212 \fIincr\fP だけ増やす。すべてのオブジェクトファイルフォーマットで任意
213 のアドレス設定が指定が可能なわけではないことに注意すること。またこのオ
214 プションではそれぞれのセクションがロードされるアドレスを変えてしまうの
215 で、プログラムが動かなくなる可能性がある
216 .TP
217 .B \fB\-\-adjust\-section\-vma=\fIsection{=,+,-}val
218 名前が \fIsection\fP のセクションのアドレスを設定する。 \fI=\fP が用い
219 られた場合はセクションのアドレスは \fIval\fP にされる。それ以外の場合
220 はセクションのアドレスから \fIval\fP が増減される。上記の 
221 \fB\-\-adjust\-vma\fP に関するコメントを参照のこと。 \fIsection\fP が
222 入力ファイルに存在しない場合は警告グメッセージが表示される (ただし 
223 \fB\-\-no\-adjust\-warning\fP が指定されていたら表示しない)。
224 .TP
225 .B \fB\-\-adjust\-warnings
226 \fB\-\-adjust\-section\-vma\fP が指定されているとき、
227 対象となるセクションが存在しなければ警告メッセージを表示する。
228 デフォルトの動作である。
229 .TP
230 .B \fB\-\-no\-adjust\-warnings
231 \fB\-\-adjust\-section\-vma\fP が指定されているとき、かつ対象となるセ
232 クションが存在していなくても警告メッセージを表示しない。
233 .TP
234 .B \fB\-\-set\-section\-flags=\fIsection=flags
235 指定したセクションのフラグを設定する。引数 \fIflags\fP はコンマ (,) で
236 区切られたフラグ文字列である。認識される文字列は \fIalloc\fP、 
237 \fIload\fP、 \fIreadonly\fP、 \fIcode\fP、 \fIdata\fP、 \fIrom\fP であ
238 る。すべてのフラグがあらゆるフォーマットで有効なわけではないことに注意
239 すること。
240 .TP
241 .B \fB\-\-add\-section=\fIsectionname=filename
242 ファイルをコピーするときに \fIsectionname\fP という名前のセクションを
243 追加する。この新しいセクションの内容はファイル \fIfilename\fP から取ら
244 れる。このオプションが機能するのは、任意のセクション名をサポートしてい
245 るフォーマットだけである。
246 .TP
247 .B \-\-change\-leading\-char
248 オブジェクトファイルのフォーマットによっては、シンボル名の先頭に特定の
249 文字を使っている場合がある。よくある例はアンダースコア (_) で、これは
250 コンパイラがすべてのシンボル名に前置する。このオプションを指定すると
251 .B objcopy
252 はフォーマット変換の際にすべてのシンボルにおける先頭文字を変更しようと
253 する。同じ先頭文字を持つオブジェクト間では、このオプションは意味を持た
254 ない。異なる場合は、場合に応じて先頭文字が追加されたり削除、変更された
255 りする。
256 .TP
257 .B \-\-remove\-leading\-char
258 グローバルシンボルの先頭文字がオブジェクトファイルに特有のものであった
259 場合、これを削除する。通常はアンダースコア (_) がこれにあたる。このオ
260 プションはすべてのグローバルシンボルから先頭にあるアンダースコアを削除
261 する。これは (シンボル名の命名流儀が異なる) 複数のフォーマットに属する
262 オブジェクト群を同時にリンクする場合に有用である。このオプションは 
263 \fB\-\-change\-leading\-char\fP とは異なる。後者では出力のフォーマット
264 にかかわらず、該当したケースではすべて変更が行われる。
265 .TP
266 .B \-\-weaken
267 ファイルのすべての global なシンボルを weak に変更する。
268 .TP
269 .\" weak symbol?
270 .B \-v\fR, \fB\-\-verbose
271 詳細出力モード。修正されたすべてのオブジェクトファイルをリストする。書
272 庫の場合は"\fBobjcopy \-V\fR" とすると書庫のすべてのメンバーを表示する。
273 .TP
274 .B \-V\fR, \fB\-\-version
275 .B objcopy
276 のバージョン番号を表示して終了する。
277 .TP
278 .B \-\-help
279 .B objcopy
280 のオプションの要約を表示して終了する。
281
282 .SH 関連項目
283 .B info
284 の `\fB binutils \fP' エントリ、
285 .IR "The GNU Binary Utilities" ,
286 Roland H. Pesch (June 1993)、
287
288 .SH 著作権
289 Copyright (c) 1993, 94, 95, 96, 1997 Free Software Foundation, Inc.
290 .PP
291 Permission is granted to make and distribute verbatim copies of
292 this manual provided the copyright notice and this permission notice
293 are preserved on all copies.
294 .PP
295 Permission is granted to copy and distribute modified versions of this
296 manual under the conditions for verbatim copying, provided that the
297 entire resulting derived work is distributed under the terms of a
298 permission notice identical to this one.
299 .PP
300 Permission is granted to copy and distribute translations of this
301 manual into another language, under the above conditions for modified
302 versions, except that this permission notice may be included in
303 translations approved by the Free Software Foundation instead of in
304 the original English.