\input texinfo       @c                    -*- Texinfo -*-
@setfilename binutils-ja.info
@c Copyright 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.

@c @documentlanguage ja
@include config-ja.texi

@ifinfo
@format
START-INFO-DIR-ENTRY
* Binutils(ja): (binutils-ja).         The GNU binary utilities.
* ar(ja): (binutils-ja)ar.               Create, modify, and extract from archives
* nm(ja): (binutils-ja)nm.               List symbols from object files
* objcopy(ja): (binutils-ja)objcopy.      Copy and translate object files
* objdump(ja): (binutils-ja)objdump.     Display information from object files
* ranlib(ja): (binutils-ja)ranlib.       Generate index to archive contents
* readelf(ja): (binutils-ja)readelf.      Display the contents of ELF format files.
* size(ja): (binutils-ja)size.           List section sizes and total size
* strings(ja): (binutils-ja)strings.     List printable strings from files
* strip(ja): (binutils-ja)strip.         Discard symbols
* c++filt(ja): (binutils-ja)c++filt.      Filter to demangle encoded C++ symbols* cxxfilt(ja): (binutils-ja)c++filt.     MS-DOS name for c++filt
* addr2line(ja): (binutils-ja)addr2line. Convert addresses to file and line
* nlmconv(ja): (binutils-ja)nlmconv.     Converts object code into an NLM
* windres(ja): (binutils-ja)windres.      Manipulate Windows resources
* dlltool(ja): (binutils-ja)dlltool.      Create files needed to build and use DLLs
END-INFO-DIR-ENTRY
@end format
@end ifinfo

@ifinfo
@c man begin COPYRIGHT
Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU 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 ``GNU Free Documentation License''.

@c man end
@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries a copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
@end ifinfo

@synindex ky cp
@c
@c This file documents the GNU binary utilities "ar", "ld", "objcopy",
@c  "objdump", "nm", "size", "strings", "strip", "readelf" and "ranlib".
@c
@c Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
@c 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
@c 
@c This text may be freely distributed under the terms of the GNU
@c Free Documentation License.
@c

@setchapternewpage odd
@settitle @sc{gnu} Binary Utilities
@titlepage
@finalout
@title The @sc{gnu} Binary Utilities
@subtitle Version @value{VERSION}
@sp 1
@subtitle @value{UPDATED}
@author Roland H. Pesch
@author Jeffrey M. Osier
@author Cygnus Support
@c 翻訳：西尾 太
@page

@tex
{\parskip=0pt \hfill Cygnus Support\par \hfill
\TeX{}info \texinfoversion\par }
@end tex

@vskip 0pt plus 1filll
Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.

      Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU 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 ``GNU Free Documentation License''.

@end titlepage

@node Top
@c @top Introduction
@top はじめに

@cindex version
@c This brief manual contains documentation for the @sc{gnu} binary
@c utilities (collectively version @value{VERSION}): 
@c 
この短いマニュアルは，@sc{gnu}バイナリユーティリティ(バージョン
@value{VERSION}全体)に対する文章が含まれています．

@iftex
@table @code
@item ar
@c Create, modify, and extract from archives
@c 
アーカイブの作成，編集，そしてそれからの抽出．

@item nm
@c List symbols from object files
@c 
オブジェクトファイルからシンボルをリストアップ．

@item objcopy
@c Copy and translate object files
@c 
オブジェクトファイルのコピーと変換．

@item objdump
@c Display information from object files
@c 
オブジェクトファイルの情報を表示．

@item ranlib
@c Generate index to archive contents
@c 
アーカイブの内容に索引を生成．

@item readelf
@c Display the contents of ELF format files.
@c 
ELFフォーマットファイルの内容を表示．

@item size
@c List file section sizes and total size
@c 
ファイルのセクションの大きさと全体の大きさをリストアップ．

@item strings
@c List printable strings from files
@c 
ファイルから，出力可能な文字列をリストアップ．

@item strip
@c Discard symbols
@c 
シンボルの削除．

@item c++filt
@c Demangle encoded C++ symbols (on MS-DOS, this program is named
@c @code{cxxfilt})
@c 
符号化されたC++シンボルをdemangleする(MS-DOSでは，このプログラムは
@code{cxxfilt}と命名されています)．

@item addr2line
@c Convert addresses into file names and line numbers
@c 
アドレスをファイル名と行番号に変換．

@item nlmconv
@c Convert object code into a Netware Loadable Module
@c 
オブジェクトコードをNetware Loadable Moduleに変換．

@item windres
@c Manipulate Windows resources
@c 
Windowsリソースの操作．

@item dlltool
@c Create the files needed to build and use Dynamic Link Libraries
@c 
ダイナミックリンクライブラリを構築し使用するために必要なファイルを作成．
@end table
@end iftex

@c This document is distributed under the terms of the GNU Free
@c Documentation License.  A copy of the license is included in the
@c section entitled "GNU Free Documentation License".
@c 
この文章はGNU Free Documentation Licenseの条件の下で配布されます．ライ
センスのコピーは，"GNU Free Documentation License"と名付けられたセクショ
ンに含まれています．

@menu
* ar::                          Create, modify, and extract from archives
* nm::                          List symbols from object files
* objcopy::			Copy and translate object files
* objdump::                     Display information from object files
* ranlib::                      Generate index to archive contents
* readelf::			Display the contents of ELF format files.
* size::                        List section sizes and total size
* strings::                     List printable strings from files
* strip::                       Discard symbols
* c++filt::			Filter to demangle encoded C++ symbols
* cxxfilt: c++filt.             MS-DOS name for c++filt
* addr2line::			Convert addresses to file and line
* nlmconv::                     Converts object code into an NLM
* windres::			Manipulate Windows resources
* dlltool::			Create files needed to build and use DLLs
* Selecting The Target System:: How these utilities determine the target.
* Reporting Bugs::              Reporting Bugs
* GNU Free Documentation License::  GNU Free Documentation License
* Index::                       Index
@end menu

@node ar
@chapter ar

@kindex ar
@cindex archives
@cindex collections of files

@c man title ar create, modify, and extract from archives

@smallexample
ar [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] @var{archive} [@var{member}@dots{}]
ar -M [ <mri-script ]
@end smallexample

@c man begin DESCRIPTION ar

@c The @sc{gnu} @command{ar} program creates, modifies, and extracts from
@c archives.  An @dfn{archive} is a single file holding a collection of
@c other files in a structure that makes it possible to retrieve
@c the original individual files (called @dfn{members} of the archive).
@c 
@sc{gnu} @command{ar}は，アーカイブの作成，変更，そして，それからの抽出
を行います．@dfn{アーカイブ(archive)}とは，(アーカイブの@dfn{メンバー
(members)}と呼ばれる)元となる個々のファイルを取り出すことが可能な構造の
ファイル中に，他のファイルの集合を保持している単一のファイルです．

@c The original files' contents, mode (permissions), timestamp, owner, and
@c group are preserved in the archive, and can be restored on
@c extraction.  
@c 
元のファイルの内容，モード(許可)，タイムスタンプ，所有者，そしてグルー
プは，アーカイブに保存されていて，抽出時に復元することが可能です．

@cindex name length
@c @sc{gnu} @command{ar} can maintain archives whose members have names of any
@c length; however, depending on how @command{ar} is configured on your
@c system, a limit on member-name length may be imposed for compatibility
@c with archive formats maintained with other tools.  If it exists, the
@c limit is often 15 characters (typical of formats related to a.out) or 16
@c characters (typical of formats related to coff).
@c 
@sc{gnu} @command{ar}は，任意の長さのメンバー名のアーカイブを管理するこ
とが可能です．しかし，@command{ar}がシステムでコンフィグレーションされ
た方法に依存し，他のツールで管理されるアーカイブのフォーマットの互換性
のため，メンバー名の長さは制限される可能性があります．それが存在する場
合，制限は15文字(a.out に関連するフォーマットの典型)や16文字(coffに関連
するフォーマットの典型)のことが多いでしょう．

@cindex libraries
@c @command{ar} is considered a binary utility because archives of this sort
@c are most often used as @dfn{libraries} holding commonly needed
@c subroutines.
@c 
この種のアーカイブは，一般に必要なサブルーチンを保持する@dfn{ライブラリ
(libraries)}として最もよく使用されるので，@command{ar}は，バイナリユー
ティリティと考えられます．

@cindex symbol index
@c @command{ar} creates an index to the symbols defined in relocatable
@c object modules in the archive when you specify the modifier @samp{s}.
@c Once created, this index is updated in the archive whenever @command{ar}
@c makes a change to its contents (save for the @samp{q} update operation).
@c An archive with such an index speeds up linking to the library, and
@c allows routines in the library to call each other without regard to
@c their placement in the archive.
@c 
@command{ar}は，修飾子@samp{s}を指定したとき，アーカイブの再配置可能な
オブジェクトモジュールに定義されているシンボルに索引を作成します．一度
作成されると，(@samp{q}更新コマンドでの保存で)@command{ar}がその内容を
変更したときは，アーカイブ内で毎回この索引が更新されます．そのような索
引をもつアーカイブは，ライブラリとのリンク速度を上げ，ライブラリのルー
チンがアーカイブ内の位置に関わらず，お互いの呼び出しを可能にします．

@c You may use @samp{nm -s} or @samp{nm --print-armap} to list this index
@c table.  If an archive lacks the table, another form of @command{ar} called
@c @command{ranlib} can be used to add just the table.
@c 
この索引テーブルをリストアップするため，@samp{nm -s}や@samp{nm
--print-armap}を使用してもかまいません．アーカイブに表が無い場合，
@command{ranlib}と呼ばれる@command{ar}の別の形式を，表に加えるために使
用することが可能です．

@cindex compatibility, @command{ar}
@cindex @command{ar} compatibility
@c @sc{gnu} @command{ar} is designed to be compatible with two different
@c facilities.  You can control its activity using command-line options,
@c like the different varieties of @command{ar} on Unix systems; or, if you
@c specify the single command-line option @option{-M}, you can control it
@c with a script supplied via standard input, like the MRI ``librarian''
@c program.
@c 
@sc{gnu} @command{ar}は，二つの異なる機能を用いて互換性があるように設計
されています．Unixシステム上の様々な形態の@command{ar}のように，コマン
ドラインオプションを使用してその作業を制御することが可能です．また，単
一のコマンドラインオプション@option{-M}を指定した場合，MRI
``librarian''プログラムのように，標準入力を通じて供給されるスクリプトを
用いて，それを制御することが可能です．

@c man end

@menu
* ar cmdline::                  Controlling @command{ar} on the command line
* ar scripts::                  Controlling @command{ar} with a script
@end menu

@page
@node ar cmdline
@c @section Controlling @command{ar} on the Command Line
@section コマンドラインでの@command{ar}の制御

@smallexample
@c man begin SYNOPSIS ar
ar [@option{-X32_64}] [@option{-}]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] @var{archive} [@var{member}@dots{}]
@c man end
@end smallexample

@cindex Unix compatibility, @command{ar}
@c When you use @command{ar} in the Unix style, @command{ar} insists on at least two
@c arguments to execute: one keyletter specifying the @emph{operation}
@c (optionally accompanied by other keyletters specifying
@c @emph{modifiers}), and the archive name to act on.
@c 
Unix形式で@command{ar}を使用するとき，@command{ar}は少なくとも二つの引
数を実行時に要求します．@emph{operation}を指定するキー文字
(@emph{modifiers}を指定するその他のキー文字がオプションで付きます)と，
動作対象のアーカイブ名です．

@c Most operations can also accept further @var{member} arguments,
@c specifying particular files to operate on.
@c 
ほとんどの処理は，それ以外に@var{member}引数を受け入れ，それは処理の対
象となる特定のファイル名を指定します．

@c man begin OPTIONS ar

@c @sc{gnu} @command{ar} allows you to mix the operation code @var{p} and modifier
@c flags @var{mod} in any order, within the first command-line argument.
@c 
@sc{gnu} @command{ar}では，最初のコマンドライン引数内で，処理コード
@var{p}と修飾フラグ@var{mod}を，任意の順序で混ぜることが可能です．

@c If you wish, you may begin the first command-line argument with a
@c dash.
@c 
好みにより，最初のコマンドライン引数をダッシュで始めてもかまいません．

@cindex operations on archive
@c The @var{p} keyletter specifies what operation to execute; it may be
@c any of the following, but you must specify only one of them:
@c 
@var{p}キー文字は，実行する処理を指定します．それは以下のいずれでもかま
いませんが，その中の一つだけを指定する必要があります．

@table @samp
@item d
@cindex deleting from archive
@c @emph{Delete} modules from the archive.  Specify the names of modules to
@c be deleted as @var{member}@dots{}; the archive is untouched if you
@c specify no files to delete.
@c 
アーカイブからモジュールを@emph{削除}します．削除するモジュール名は，
@var{member}@dots{}として指定してください．削除するファイルを指定してい
ない場合，アーカイブはそのままです．

@c If you specify the @samp{v} modifier, @command{ar} lists each module
@c as it is deleted.
@c 
@samp{v}修飾子を指定した場合，@command{ar}は削除するそれぞれのモジュー
ルをリストアップします．

@item m
@cindex moving in archive
@c Use this operation to @emph{move} members in an archive.
@c 
アーカイブ内でメンバーを@emph{移動}するためにこの処理を使用してください．

@c The ordering of members in an archive can make a difference in how
@c programs are linked using the library, if a symbol is defined in more
@c than one member.  
@c 
シンボルが一つ以上のメンバーで定義されている場合，アーカイブ内のメンバー
の順序で，ライブラリを使用してプログラムがリンクされる方法に差異が発生
するはずです．

@c If no modifiers are used with @code{m}, any members you name in the
@c @var{member} arguments are moved to the @emph{end} of the archive;
@c you can use the @samp{a}, @samp{b}, or @samp{i} modifiers to move them to a
@c specified place instead.
@c 
修飾子を使用しないで@code{m}を使用する場合，@var{member}引数で指名した
すべてのメンバーは，アーカイブの@emph{終り}に移動されます．そうする代わ
りに，指定した位置にそれらを移動するために，@samp{a}，@samp{b}，または
@samp{i}修飾子を使用することが可能です．

@item p
@cindex printing from archive
@c @emph{Print} the specified members of the archive, to the standard
@c output file.  If the @samp{v} modifier is specified, show the member
@c name before copying its contents to standard output.
@c 
アーカイブの指定されたメンバーを標準出力ファイルに@emph{出力}します．
@samp{v}修飾子が指定されている場合，その内容のコピーの前にメンバー名を
標準出力に表示します．

@c If you specify no @var{member} arguments, all the files in the archive are
@c printed.
@c 
@var{member}引数を指定していない場合，アーカイブのすべてのファイルが出
力されます．

@item q
@cindex quick append to archive
@c @emph{Quick append}; Historically, add the files @var{member}@dots{} to the end of
@c @var{archive}, without checking for replacement.
@c 
@emph{すばやく追加}します．歴史的に，ファイル@var{member}@dots{}を
@var{archive}の終りに，置換に関する調査をせずに追加します．

@c The modifiers @samp{a}, @samp{b}, and @samp{i} do @emph{not} affect this
@c operation; new members are always placed at the end of the archive.
@c 
修飾子@samp{a}，@samp{b}，そして@samp{i}は，このオプションに効果は
@emph{ありません}．新しいメンバーは常にアーカイブの終りに配置されます．

@c The modifier @samp{v} makes @command{ar} list each file as it is appended.
@c 
修飾子@samp{v}で，@command{ar}は追加されるそれぞれのファイルをリストアッ
プします．

@c Since the point of this operation is speed, the archive's symbol table
@c index is not updated, even if it already existed; you can use @samp{ar s} or
@c @command{ranlib} explicitly to update the symbol table index.
@c 
この処理の要点は速度なので，アーカイブのシンボル表の索引が存在している
場合でも更新されません．シンボル表の索引を更新するために，@samp{ar s}
または@command{ranlib}を明示的に使用することが可能です．

@c However, too many different systems assume quick append rebuilds the
@c index, so @sc{gnu} @command{ar} implements @samp{q} as a synonym for @samp{r}.
@c 
しかし，あまりに多くの様々なシステムで，高速追加が索引を再構築すること
を仮定されていので，@sc{gnu} @command{ar}は，@code{q}を@code{r}の同義語
として実装されています．

@item r
@cindex replacement in archive
@c Insert the files @var{member}@dots{} into @var{archive} (with
@c @emph{replacement}). This operation differs from @samp{q} in that any
@c previously existing members are deleted if their names match those being
@c added.
@c 
ファイル@var{member}@dots{}を@var{archive}に挿入します(@emph{置換}を用
います)．この処理は，追加されるものと名前が一致した場合，既存のメンバー
が削除される点で，@samp{q}とは異なります．

@c If one of the files named in @var{member}@dots{} does not exist, @command{ar}
@c displays an error message, and leaves undisturbed any existing members
@c of the archive matching that name.
@c 
@var{member}@dots{}で指名されたファイルが一つでも存在しない場合，
@command{ar}はエラーメッセージを表示し，名前がアーカイブと一致する既存
のメンバーはそのままになります．

@c By default, new members are added at the end of the file; but you may
@c use one of the modifiers @samp{a}, @samp{b}, or @samp{i} to request
@c placement relative to some existing member.
@c 
デフォルトで，新しいメンバーはファイルの終りに追加されます．しかし，既
存のメンバーとの相対位置を要求するため，修飾子@samp{a}，@samp{b}，また
は@samp{i}の一つを使用してもかまいません．

@c The modifier @samp{v} used with this operation elicits a line of
@c output for each file inserted, along with one of the letters @samp{a} or
@c @samp{r} to indicate whether the file was appended (no old member
@c deleted) or replaced.
@c 
この処理で修飾子@samp{v}を使用すると，挿入されたそれぞれのファイルを出
力の一行に書き出し，ファイルが追加された(古いメンバーが削除されていな
い)のか，置換されたのかを示す文字@samp{a}または@samp{r}のどちらかを追加
します．

@item t
@cindex contents of archive
@c Display a @emph{table} listing the contents of @var{archive}, or those
@c of the files listed in @var{member}@dots{} that are present in the
@c archive.  Normally only the member name is shown; if you also want to
@c see the modes (permissions), timestamp, owner, group, and size, you can
@c request that by also specifying the @samp{v} modifier.
@c 
@var{archive}の内容をリストアップしている@emph{表}，または，アーカイブ
に存在する@var{member}@dots{}にリストアップされているファイルの
@emph{表}を表示します．通常，メンバー名だけが表示されます．モード(許可)，
タイムスタンプ，所有者，そして大きさも見たい場合，@samp{v}修飾子を指定
して要求することも可能です．

@c If you do not specify a @var{member}, all files in the archive
@c are listed.
@c 
@var{member}を指定しない場合は，アーカイブ内のすべてのファイルがリスト
アップされます．

@cindex repeated names in archive
@cindex name duplication in archive
@c If there is more than one file with the same name (say, @samp{fie}) in
@c an archive (say @samp{b.a}), @samp{ar t b.a fie} lists only the
@c first instance; to see them all, you must ask for a complete
@c listing---in our example, @samp{ar t b.a}.
@c 
同じ名前の(@samp{fie}という名の)ファイルが，(@samp{b.a}をいう名の)アー
カイブに一つ以上ある場合，@samp{ar t b.a fie}は最初のインスタンスのみリ
ストアップします．すべてを見るために，完全なリストを要求する必要があり
ます --- この例では@samp{ar t b.a}です．
@c WRS only; per Gumby, this is implementation-dependent, and in a more
@c recent case in fact works the other way.

@item x
@cindex extract from archive
@c @emph{Extract} members (named @var{member}) from the archive.  You can
@c use the @samp{v} modifier with this operation, to request that
@c @command{ar} list each name as it extracts it.
@c 
(@var{member}という名の)メンバーをアーカイブから@emph{抽出}します．
@command{ar}が抽出しているそれぞれの名前をリストアップするように，この
処理で@samp{v}修飾子を使用することが可能です．

@c If you do not specify a @var{member}, all files in the archive
@c are extracted.
@c 
@var{member}を指定しない場合，アーカイブのすべてのファイルが抽出されま
す．

@end table

@c A number of modifiers (@var{mod}) may immediately follow the @var{p}
@c keyletter, to specify variations on an operation's behavior:
@c 
処理の動作の変更を指定するため，いくつかの修飾子(@var{mod})を@var{p}キー
文字の直後に続けてもかまいません．

@table @samp
@item a
@cindex relative placement in archive
@c Add new files @emph{after} an existing member of the
@c archive.  If you use the modifier @samp{a}, the name of an existing archive
@c member must be present as the @var{relpos} argument, before the
@c @var{archive} specification.
@c 
新しいファイルを，アーカイブの既存のメンバーの@emph{後}に追加します．修
飾子@samp{a}を使用した場合，@var{archive}指定の前に，既存のアーカイブメ
ンバー名が@var{relpos}引数にある必要があります．

@item b
@c Add new files @emph{before} an existing member of the
@c archive.  If you use the modifier @samp{b}, the name of an existing archive
@c member must be present as the @var{relpos} argument, before the
@c @var{archive} specification.  (same as @samp{i}).
@c 
新しいファイルをアーカイブの既存のメンバーの@emph{前}に加えます．修飾子
@samp{b}を使用した場合，@var{archive}指定の前に，既存のアーカイブメンバー
名が@var{relpos}引数にある必要があります．(@samp{i}と同じです)．

@item c
@cindex creating archives
@c @emph{Create} the archive.  The specified @var{archive} is always
@c created if it did not exist, when you request an update.  But a warning is
@c issued unless you specify in advance that you expect to create it, by
@c using this modifier.
@c 
アーカイブを@emph{作成}します．更新の要求をしたとき，指定された
@var{archive}が存在する場合でも，それは常に作成されます．しかし，この修
飾子を使用して，作成することを期待するということを前もって指定しない場
合，警告が生じます．

@item f
@c Truncate names in the archive.  @sc{gnu} @command{ar} will normally permit file
@c names of any length.  This will cause it to create archives which are
@c not compatible with the native @command{ar} program on some systems.  If
@c this is a concern, the @samp{f} modifier may be used to truncate file
@c names when putting them in the archive.
@c 
アーカイブで名前を切り詰めます．@sc{gnu} @command{ar}は，通常は任意の長
さのファイル名を許可します．これは，いくつかのシステムのネイティブ
@command{ar}プログラムと互換性のないアーカイブを作成します．これが懸念
される場合，アーカイブに配置するときファイル名を切り詰めるために，
@samp{f}修飾子を使用してもかまいません．

@item i
@c Insert new files @emph{before} an existing member of the
@c archive.  If you use the modifier @samp{i}, the name of an existing archive
@c member must be present as the @var{relpos} argument, before the
@c @var{archive} specification.  (same as @samp{b}).
@c 
新しいファイルをアーカイブの既存のメンバーの@emph{前に}挿入します．修飾
子@samp{i}を使用する場合，@var{archive}指定の前に，既存のアーカイブメン
バー名前が@var{relpos}引数にある必要があります．(@samp{b}と同じです)．

@item l
@c This modifier is accepted but not used.
@c 
この修飾子は受け入れられますが，使用されません．
@c whaffor ar l modifier??? presumably compat; with
@c what???---doc@@cygnus.com, 25jan91 

@item N
@c Uses the @var{count} parameter.  This is used if there are multiple
@c entries in the archive with the same name.  Extract or delete instance
@c @var{count} of the given name from the archive.
@c 
@var{count}パラメータを使用します．これは，同じ名前のアーカイブに，複数
のエントリーがある場合に使用されます．アーカイブから，該当する名前のイ
ンスタンスを@var{count}個，抽出または削除します．

@item o
@cindex dates in archive
@c Preserve the @emph{original} dates of members when extracting them.  If
@c you do not specify this modifier, files extracted from the archive
@c are stamped with the time of extraction.
@c 
メンバーが既存のとき，その@emph{オリジナルの}日付を保持します．この修飾
子を指定しない場合，アーカイブから抽出されるファイルは，抽出した時間で
タイムスタンプがつきます．

@item P
@c Use the full path name when matching names in the archive.  @sc{gnu}
@c @command{ar} can not create an archive with a full path name (such archives
@c are not POSIX complaint), but other archive creators can.  This option
@c will cause @sc{gnu} @command{ar} to match file names using a complete path
@c name, which can be convenient when extracting a single file from an
@c archive created by another tool.
@c 
アーカイブの名前の一致にフルパス名を使用します．@sc{gnu} @command{ar}
はフルパス名を持つアーカイブ(そのようなアーカイブは，POSIXで問題ない)
を作成することは不可能ですが，アーカイブを作成するものには，そうするこ
とが可能なものもあります．このオプションで，@sc{gnu} @command{ar}はフル
パス名を使用しているファイル名にマッチし，それは，他のツールで作成され
たアーカイブから単一のファイルを抽出するとき便利でしょう．

@item s
@cindex writing archive index
@c Write an object-file index into the archive, or update an existing one,
@c even if no other change is made to the archive.  You may use this modifier
@c flag either with any operation, or alone.  Running @samp{ar s} on an
@c archive is equivalent to running @samp{ranlib} on it.
@c 
他の変更がアーカイブに対してなされない場合でも，オブジェクトファイルの
索引をアーカイブに書き出したり，既存のものを更新したりします．この修飾
子フラグは，任意のオプションとともに，または単独で使用してもかまいませ
ん．アーカイブで@samp{ar s}を実行することは，@samp{ranlib}の実行と等価
です．

@item S
@cindex not writing archive index
@c Do not generate an archive symbol table.  This can speed up building a
@c large library in several steps.  The resulting archive can not be used
@c with the linker.  In order to build a symbol table, you must omit the
@c @samp{S} modifier on the last execution of @samp{ar}, or you must run
@c @samp{ranlib} on the archive.
@c 
アーカイブシンボル表を生成しません．これで何段階か使用する大きなライブ
ラリの構築を高速にすることが可能です．結果として出力されるアーカイブは，
リンカで使用することは不可能です．シンボルテーブルを構築するために，
@samp{ar}の最後の実行で@samp{S}修飾子を省略したり，アーカイブで
@samp{ranlib}を実行する必要があります．

@item u
@cindex updating an archive
@c Normally, @samp{ar r}@dots{} inserts all files
@c listed into the archive.  If you would like to insert @emph{only} those
@c of the files you list that are newer than existing members of the same
@c names, use this modifier.  The @samp{u} modifier is allowed only for the
@c operation @samp{r} (replace).  In particular, the combination @samp{qu} is
@c not allowed, since checking the timestamps would lose any speed
@c advantage from the operation @samp{q}.
@c 
通常，@samp{ar r}@dots{}でリストアップされているすべてのファイルをアー
カイブに挿入します．リストアップしたもので，同じ名前の既存のメンバーよ
り新しいファイル@emph{のみ}挿入したい場合，この修飾子を使用してください．
@samp{u}修飾子は，処理@samp{r}(置換)に対してのみ可能です．特に，タイム
スタンプの調査が処理@samp{q}での速度の利点を損なうため，@samp{qu} と組
み合わせることはできません．

@item v
@c This modifier requests the @emph{verbose} version of an operation.  Many
@c operations display additional information, such as filenames processed,
@c when the modifier @samp{v} is appended.
@c 
この修飾子は，処理の@emph{冗長}バージョンを要求します．多くの処理は，修
飾子@samp{v}が追加されているとき，処理しているファイル名のような追加の
情報を表示します．

@item V
@c This modifier shows the version number of @command{ar}.
@c 
この修飾子は@command{ar}のバージョンナンバーを表示します．
@end table

@c @command{ar} ignores an initial option spelt @samp{-X32_64}, for
@c compatibility with AIX.  The behaviour produced by this option is the
@c default for @sc{gnu} @command{ar}.  @command{ar} does not support any of the other
@c @samp{-X} options; in particular, it does not support @option{-X32}
@c which is the default for AIX @command{ar}.
@c 
@command{ar}は，AIXに対する互換性のため，@samp{-X32_64}と綴られた最初の
オプションを無視します．このオプションによって引き起こされる動作は，
@sc{gnu} @command{ar}のデフォルトです．@command{ar}は，その他の
@samp{-X}オプションを全くサポートしません．特に，AIX @command{ar}ではデ
フォルトとなる@option{-X32}はサポートしません．

@c man end

@ignore
@c man begin SEEALSO ar
nm(1), ranlib(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node ar scripts
@c @section Controlling @command{ar} with a Script
@section スクリプトを用いた@command{ar}の制御

@smallexample
ar -M [ <@var{script} ]
@end smallexample

@cindex MRI compatibility, @command{ar}
@cindex scripts, @command{ar}
@c If you use the single command-line option @samp{-M} with @command{ar}, you
@c can control its operation with a rudimentary command language.  This
@c form of @command{ar} operates interactively if standard input is coming
@c directly from a terminal.  During interactive use, @command{ar} prompts for
@c input (the prompt is @samp{AR >}), and continues executing even after
@c errors.  If you redirect standard input to a script file, no prompts are
@c issued, and @command{ar} abandons execution (with a nonzero exit code)
@c on any error.
@c 
単一のコマンドラインオプション@option{-M}を@command{ar}で用いた場合，基
礎的なコマンド言語でその処理を制御することが可能です．@command{ar}のこ
の形式は，標準入力が端末から直接来ている場合，対話的に処理します．対話
的に使用している間，@command{ar}は入力を促し(プロンプトは@samp{AR >})，
エラー後も実行を続けます．標準入力をスクリプトファイルにリダイレクトし
ている場合，プロンプトは表示されず，@command{ar}はエラーが発生すると(ゼ
ロでない終了コードで)実行を終了します．

@c The @command{ar} command language is @emph{not} designed to be equivalent
@c to the command-line options; in fact, it provides somewhat less control
@c over archives.  The only purpose of the command language is to ease the
@c transition to @sc{gnu} @command{ar} for developers who already have scripts
@c written for the MRI ``librarian'' program.
@c 
@command{ar}コマンド言語は，コマンドラインオプションと等価に設計されて
@emph{いません}．実際，それはアーカイブ上の制御が若干少なくなっています．
コマンド言語の目的は，MRI ``librarian''プログラムに対して書かれたスクリ
プトを既に所有している開発者が，@sc{gnu} @command{ar}への変換をより簡単
にすることです．

@c The syntax for the @command{ar} command language is straightforward:
@c 
@command{ar}コマンド言語の構文は簡単です．
@itemize @bullet
@item
@c commands are recognized in upper or lower case; for example, @code{LIST}
@c is the same as @code{list}.  In the following descriptions, commands are
@c shown in upper case for clarity.
@c 
コマンドは大文字も小文字も認識します．例えば，@code{LIST}は@code{list}
と同じです．以下の記述では，明確さのためにコマンドは大文字で表示します．

@item
@c a single command may appear on each line; it is the first word on the
@c line.
@c 
単一のコマンドは，個別の行に配置してもかまいません．それは，行の最初の
単語となります．

@item
@c empty lines are allowed, and have no effect.
@c 
空行が可能で，それは効果がありません．

@item
@c comments are allowed; text after either of the characters @samp{*}
@c or @samp{;} is ignored.
@c 
コメントが可能です．文字@samp{*}または@samp{;}以降のテキストは無視され
ます．

@item
@c Whenever you use a list of names as part of the argument to an @command{ar}
@c command, you can separate the individual names with either commas or
@c blanks.  Commas are shown in the explanations below, for clarity.
@c 
@command{ar}コマンドの引数の一部として名前のリストを使用するときは，カ
ンマまたは空白で，それぞれの名前を分けることが可能です．明確さのため，
以下の説明はカンマで表現されます．

@item
@c @samp{+} is used as a line continuation character; if @samp{+} appears
@c at the end of a line, the text on the following line is considered part
@c of the current command.
@c 
行の連結文字として@samp{+}が使用されます．@samp{+}が行末に現れた場合，
それに続く行のテキストは，現在のコマンドの一部と考えられます．
@end itemize

@c Here are the commands you can use in @command{ar} scripts, or when using
@c @command{ar} interactively.  Three of them have special significance:
@c 
以下のものは，@command{ar}で使用することが可能な，または，@command{ar}
を対話的に使用しているときのコマンドです．そのうちの三つは特別な意味を
持ちます．

@c @code{OPEN} or @code{CREATE} specify a @dfn{current archive}, which is
@c a temporary file required for most of the other commands.
@c 
@code{OPEN}や@code{CREATE}は@dfn{現在のアーカイブ(current archive)}を指
定し，それはそれ以外のほとんどのコマンドが要求する一時的なファイルです．

@c @code{SAVE} commits the changes so far specified by the script.  Prior
@c to @code{SAVE}, commands affect only the temporary copy of the current
@c archive.
@c 
@code{SAVE}は，スクリプトでこれまでに指定された変更をコミットします．
@code{SAVE}の前のコマンドは，現在のアーカイブの一時的なコピーに対しての
み効果があります．

@table @code
@item ADDLIB @var{archive} 
@itemx ADDLIB @var{archive} (@var{module}, @var{module}, @dots{} @var{module})
@c Add all the contents of @var{archive} (or, if specified, each named
@c @var{module} from @var{archive}) to the current archive.
@c 
@var{archive}のすべての内容(または，指定されている場合，アーカイブのそ
れぞれの指名された@var{module})を，現在のアーカイブに追加します．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@item ADDMOD @var{member}, @var{member}, @dots{} @var{member}
@c FIXME! w/Replacement??  If so, like "ar r @var{archive} @var{names}"
@c        else like "ar q..."
@c 
@c Add each named @var{member} as a module in the current archive.
@c 
それぞれの指名された@var{member}を，モジュールとして，現在のアーカイブ
に追加します．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@item CLEAR
@c Discard the contents of the current archive, canceling the effect of
@c any operations since the last @code{SAVE}.  May be executed (with no
@c effect) even if  no current archive is specified.
@c 
現在のアーカイブの内容を削除し，最後に@code{SAVE}されてからのあらゆる処
理の効果を無効にします．現在のアーカイブが指定されていない場合でも実行
可能です(効果はありません)．

@item CREATE @var{archive}
@c Creates an archive, and makes it the current archive (required for many
@c other commands).  The new archive is created with a temporary name; it
@c is not actually saved as @var{archive} until you use @code{SAVE}.
@c You can overwrite existing archives; similarly, the contents of any
@c existing file named @var{archive} will not be destroyed until @code{SAVE}.
@c 
アーカイブを作成し，それを現在のアーカイブにします(その他，多くのコマン
ドに対して必要になります)．新しいアーカイブは，一時的な名前で作成されま
す．それは，@code{SAVE}を使用するまで，@var{archive}として実際に保存さ
れません．既存のアーカイブに優先可能です．同様に，指名されている既存の
@var{archive}ファイルの内容は，@code{SAVE}まで破壊されません．

@item DELETE @var{module}, @var{module}, @dots{} @var{module}
@c Delete each listed @var{module} from the current archive; equivalent to
@c @samp{ar -d @var{archive} @var{module} @dots{} @var{module}}.
@c 
リストアップされているそれぞれの@var{module}を，現在のアーカイブから削
除します．@samp{ar -d @var{archive} @var{module} @dots{} @var{module}}
と同じです．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@item DIRECTORY @var{archive} (@var{module}, @dots{} @var{module})
@itemx DIRECTORY @var{archive} (@var{module}, @dots{} @var{module}) @var{outputfile}
@c List each named @var{module} present in @var{archive}.  The separate
@c command @code{VERBOSE} specifies the form of the output: when verbose
@c output is off, output is like that of @samp{ar -t @var{archive}
@c @var{module}@dots{}}.  When verbose output is on, the listing is like
@c @samp{ar -tv @var{archive} @var{module}@dots{}}.
@c 
@var{archive}に存在している指名されたそれぞれ@var{module}をリストアップ
します．別のコマンド@code{VERBOSE}で，出力形式を指定します．冗長出力が
オフのとき，出力は@samp{ar -t @var{archive} @var{module}@dots{}}のよう
になります．冗長出力がオンのとき，リストは@samp{ar -tv @var{archive}
@var{module}@dots{}}のようになります．

@c Output normally goes to the standard output stream; however, if you
@c specify @var{outputfile} as a final argument, @command{ar} directs the
@c output to that file.
@c 
出力は通常，標準出力に流れていきます．しかし，@var{outputfile}を最後の
引数として指定した場合，@command{ar}はそのファイルに出力を変更します．

@item END
@c Exit from @command{ar}, with a @code{0} exit code to indicate successful
@c completion.  This command does not save the output file; if you have
@c changed the current archive since the last @code{SAVE} command, those
@c changes are lost.
@c 
@command{ar}を，正しく完了したことを示す終了コード@code{0}で終了します．
このコマンドは出力ファイルを保存しません．最後の@code{SAVE}コマンド以降
に現在のアーカイブを変更した場合．これらの変更は失われます．

@item EXTRACT @var{module}, @var{module}, @dots{} @var{module}
@c Extract each named @var{module} from the current archive, writing them
@c into the current directory as separate files.  Equivalent to @samp{ar -x
@c @var{archive} @var{module}@dots{}}.
@c 
指名されたそれぞれの@var{module}を現在のアーカイブから抽出し，それらを
現在のディレクトリに個別のファイルとして書き出します．@samp{ar -x
@var{archive} @var{module}@dots{}}と同じです．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@ignore
@c FIXME Tokens but no commands???
@item FULLDIR

@item HELP
@end ignore

@item LIST
@c Display full contents of the current archive, in ``verbose'' style
@c regardless of the state of @code{VERBOSE}.  The effect is like @samp{ar
@c tv @var{archive}}.  (This single command is a @sc{gnu} @command{ar}
@c enhancement, rather than present for MRI compatibility.)
@c 
現在のアーカイブのすべての内容を，@code{VERBOSE}の状態に関わらず，
``verbose''形式で表示します．効果は@samp{ar tv @var{archive}}に似ていま
す．(この単独コマンドは@sc{gnu} @command{ar}拡張で，MRI互換に提供されて
いるものではありません)．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@item OPEN @var{archive}
@c Opens an existing archive for use as the current archive (required for
@c many other commands).  Any changes as the result of subsequent commands
@c will not actually affect @var{archive} until you next use @code{SAVE}.
@c 
現在のアーカイブとして使用するために，既存のアーカイブを開きます(他の多
くのコマンドに対し必要です)．それに続くコマンドの結果からのあらゆる変更
は，次に@code{SAVE}が使用されるまで，@var{archive}に対し実際に効果はあ
りません．

@item REPLACE @var{module}, @var{module}, @dots{} @var{module}
@c In the current archive, replace each existing @var{module} (named in
@c the @code{REPLACE} arguments) from files in the current working directory.
@c To execute this command without errors, both the file, and the module in
@c the current archive, must exist. 
@c 
現在のアーカイブで，それぞれの(@code{REPLACE}の引数で指名された)既存の
@var{module}を，現在のワーキングディレクトリのファイルで置換します．エ
ラー無くこのコマンドを実行するために，ファイルと現在のアーカイブのモ
ジュールの両方が存在する必要があります．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@item VERBOSE
@c Toggle an internal flag governing the output from @code{DIRECTORY}.
@c When the flag is on, @code{DIRECTORY} output matches output from
@c @samp{ar -tv }@dots{}.
@c 
@code{DIRECTORY}からの出力を管理している内部フラグを切り替えます．フラ
グがオンのとき，@code{DIRECTORY}出力は，@samp{ar -tv }@dots{}からの出力
に一致します．

@item SAVE
@c Commit your changes to the current archive, and actually save it as a
@c file with the name specified in the last @code{CREATE} or @code{OPEN}
@c command. 
@c 
現在のアーカイブへの変更をコミットし，それを，最後の@code{CREATE}や
@code{OPEN}コマンドで指定された名前のファイルに，実際に保存します．

@c Requires prior use of @code{OPEN} or @code{CREATE}.
@c 
@code{OPEN}や@code{CREATE}を前もって使用することが要求されます．

@end table

@iftex
@node ld
@chapter ld
@cindex linker
@kindex ld
@c The @sc{gnu} linker @command{ld} is now described in a separate manual.
@c @xref{Top,, Overview,, Using LD: the @sc{gnu} linker}.
@c 
@sc{gnu}リンカ@command{ld}は，現在，別のマニュアルで記述されています．
@xref{Top,, Overview,, Using LD: the @sc{gnu} linker}.
@end iftex

@node nm
@chapter nm
@cindex symbols
@kindex nm

@c man title nm list symbols from object files

@smallexample
@c man begin SYNOPSIS nm
nm [@option{-a}|@option{--debug-syms}] [@option{-g}|@option{--extern-only}]
   [@option{-B}] [@option{-C}|@option{--demangle}[=@var{style}]] [@option{-D}|@option{--dynamic}]
   [@option{-S}|@option{--print-size}] [@option{-s}|@option{--print-armap}]
   [@option{-A}|@option{-o}|@option{--print-file-name}][@option{--special-syms}]
   [@option{-n}|@option{-v}|@option{--numeric-sort}] [@option{-p}|@option{--no-sort}]
   [@option{-r}|@option{--reverse-sort}] [@option{--size-sort}] [@option{-u}|@option{--undefined-only}]
   [@option{-t} @var{radix}|@option{--radix=}@var{radix}] [@option{-P}|@option{--portability}]
   [@option{--target=}@var{bfdname}] [@option{-f}@var{format}|@option{--format=}@var{format}]
   [@option{--defined-only}] [@option{-l}|@option{--line-numbers}] [@option{--no-demangle}]
   [@option{-V}|@option{--version}] [@option{-X 32_64}] [@option{--help}]  [@var{objfile}@dots{}]
@c man end
@end smallexample

@c man begin DESCRIPTION nm
@c @sc{gnu} @command{nm} lists the symbols from object files @var{objfile}@dots{}.
@c If no object files are listed as arguments, @command{nm} assumes the file
@c @file{a.out}.
@c 
@sc{gnu} @command{nm}は，オブジェクトファイル@var{objfile}@dots{}のシン
ボルをリストアップします．オブジェクトファイルが引数として与えられてい
ない場合，@command{nm}はファイルを@code{a.out}と仮定します．

@c For each symbol, @command{nm} shows:
@c 
それぞれのシンボルに対し，@command{nm}は以下を表示します．

@itemize @bullet
@item
@c The symbol value, in the radix selected by options (see below), or
@c hexadecimal by default.
@c 
シンボル値で，オプションで指定されている基数(以下を参照)，または，デフォ
ルトの16進数になります．

@item
@c The symbol type.  At least the following types are used; others are, as
@c well, depending on the object file format.  If lowercase, the symbol is
@c local; if uppercase, the symbol is global (external).
@c 
シンボル形式です．少なくとも以下の形式が使用されます．それ以外は，同様
にオブジェクトファイルのフォーマットに依存します．小文字の場合，シンボ
ルはローカルです．大文字の場合，シンボルはグローバル(外部参照可能)です．

@c Some more detail on exactly what these symbol types are used for
@c would be nice.
@table @code
@item A
@c The symbol's value is absolute, and will not be changed by further
@c linking.
@c 
シンボルの値は絶対値で，更なるリンクで変更されません．

@item B
@c The symbol is in the uninitialized data section (known as BSS).
@c 
シンボルは初期化されていないデータセクションにあります(BSSとして知られ
ています)．

@item C
@c The symbol is common.  Common symbols are uninitialized data.  When
@c linking, multiple common symbols may appear with the same name.  If the
@c symbol is defined anywhere, the common symbols are treated as undefined
@c references.
@c 
シンボルは共通です．共通シンボルは初期化されていないデータです．リンク
時，複数の共通シンボルは，同じ名前のものが存在してもかまいません．シン
ボルがどこかで定義されている場合，共通のシンボルは未定義の参照として扱
われます．
@ifclear man
@c For more details on common symbols, see the discussion of
@c --warn-common in @ref{Options,,Linker options,ld.info,The GNU linker}.
@c 
共通シンボルの詳細は，@ref{Options,,Linker options,ld.info,The GNU
linker}の@option{--warn-common}の記述を参照してください．
@end ifclear

@item D
@c The symbol is in the initialized data section.
@c 
シンボルは，初期化されているデータセクションにあります．

@item G
@c The symbol is in an initialized data section for small objects.  Some
@c object file formats permit more efficient access to small data objects,
@c such as a global int variable as opposed to a large global array.
@c 
シンボルは，小さいオブジェクトに対して初期化されているデータセクション
にあります．いくつかのオブジェクトファイルのフォーマットは，グローバル
な配列に対するグローバルな整数型変数のような，小さなデータオブジェクト
に対するより効果的なアクセスを可能とします．

@item I
@c The symbol is an indirect reference to another symbol.  This is a @sc{gnu}
@c extension to the a.out object file format which is rarely used.
@c 
シンボルは他のシンボルへの間接参照です．これは，滅多に使用されない
@file{a.out}オブジェクトファイル形式に対する@sc{gnu}拡張です．

@item N
@c The symbol is a debugging symbol.
@c 
シンボルはデバッグシンボルです．

@item R
@c The symbol is in a read only data section.
@c 
シンボルは読み込み専用データセクションにあります．

@item S
@c The symbol is in an uninitialized data section for small objects.
@c 
シンボルは小さなオブジェクトに対する初期化されていないデータセクション
にあります．

@item T
@c The symbol is in the text (code) section.
@c 
シンボルはテキスト(code)セクションにあります．

@item U
@c The symbol is undefined.
@c 
シンボルは定義されていません．

@item V
@c The symbol is a weak object.  When a weak defined symbol is linked with
@c a normal defined symbol, the normal defined symbol is used with no error.
@c When a weak undefined symbol is linked and the symbol is not defined,
@c the value of the weak symbol becomes zero with no error.
@c 
シンボルはweakオブジェクトです．定義されているweakシンボルが，通常通り
に定義されているシンボルとリンクされるとき，通常通りに定義されているシ
ンボルがエラー無く使用されます．weakな未定義のシンボルがリンクされ，シ
ンボルが定義されていないとき，weakシンボルの値はエラー無くゼロになりま
す．

@item W
@c The symbol is a weak symbol that has not been specifically tagged as a
@c weak object symbol.  When a weak defined symbol is linked with a normal
@c defined symbol, the normal defined symbol is used with no error.
@c When a weak undefined symbol is linked and the symbol is not defined,
@c the value of the symbol is determined in a system-specific manner without
@c error.  On some systems, uppercase indicates that a default value has been 
@c specified.
@c 
シンボルは，weakオブジェクトシンボルとして特殊なタグを持たないweakシン
ボルです．定義されているweakシンボルが，通常通りに定義されているシンボ
ルとリンクされるとき，通常通りに定義されているシンボルがエラー無く使用
されます．weakな未定義のシンボルがリンクされ，シンボルが定義されていな
いとき，シンボルの値はエラー無くシンボル特有の方法で決定されます．シス
テムによっては，デフォルト値が指定されている大文字で示します．

@item -
@c The symbol is a stabs symbol in an a.out object file.  In this case, the
@c next values printed are the stabs other field, the stabs desc field, and
@c the stab type.  Stabs symbols are used to hold debugging information.
@c 
シンボルは，@code{a.out}オブジェクトファイルのスタブシンボルです．この
場合，次に出力される値は，スタブのその他のフィールド，スタブのdescフィー
ルド，そして，スタブの形式になります．スタブシンボルは，デバッグ情報を
保つために使用されます．
@ifclear man
@c For more information, see @ref{Top,Stabs,Stabs Overview,stabs.info, The
@c ``stabs'' debug format}.
@c 
詳細は，@ref{Top,Stabs,Stabs Overview,stabs.info, The ``stabs'' debug
format}を参照してください．
@end ifclear

@item ?
@c The symbol type is unknown, or object file format specific.
@c 
シンボル形式が分からない，または独特のフォーマットのオブジェクトファイ
ルです．
@end table

@item
@c The symbol name.
@c 
シンボル名です．
@end itemize

@c man end

@c man begin OPTIONS nm
@c The long and short forms of options, shown here as alternatives, are
@c equivalent.
@c 
以下で交互に表示している，オプションの長い形式と短い形式は等価です．

@table @env
@item -A
@itemx -o
@itemx --print-file-name 
@cindex input file name
@cindex file name
@cindex source file name
@c Precede each symbol by the name of the input file (or archive member)
@c in which it was found, rather than identifying the input file once only,
@c before all of its symbols.
@c 
入力ファイルの識別をそのすべてのシンボルの前に一度だけ前置するのではな
く，シンボルが見つかった入力ファイル(またはアーカイブメンバー)の名前を
それぞれのシンボルに前置します．

@item -a
@itemx --debug-syms 
@cindex debugging symbols
@c Display all symbols, even debugger-only symbols; normally these are not
@c listed.
@c 
すべてのシンボルを表示し，デバッグ専用のシンボルさえも表示します．通常
はリストアップされません．

@item -B
@cindex @command{nm} format
@cindex @command{nm} compatibility
@c The same as @option{--format=bsd} (for compatibility with the MIPS @command{nm}).
@c 
(MIPS @command{nm}との互換性のための)@option{--format=bsd}と同じです．

@item -C
@itemx --demangle[=@var{style}]
@cindex demangling in nm
@c Decode (@dfn{demangle}) low-level symbol names into user-level names.
@c Besides removing any initial underscore prepended by the system, this
@c makes C++ function names readable. Different compilers have different
@c mangling styles. The optional demangling style argument can be used to 
@c choose an appropriate demangling style for your compiler. @xref{c++filt}, 
@c for more information on demangling.
@c 
低レベルのシンボル名をユーザレベルの名前に復号(@dfn{demangle})します．
システムが前置する，最初のあらゆるアンダースコアを削除するだけでなく，
これでC++関数名が読みやすくなります．別々のコンパイラでは，mangle形式が
異なります．追加のdemangle形式の引数は，コンパイラに対する適切な
demangle形式を選択するために使用することが可能です．demangleの情報は，
@xref{c++filt}.

@item --no-demangle
@c Do not demangle low-level symbol names.  This is the default.
@c 
低レベルのシンボル名をdemangleしません．これはデフォルトです．

@item -D
@itemx --dynamic
@cindex dynamic symbols
@c Display the dynamic symbols rather than the normal symbols.  This is
@c only meaningful for dynamic objects, such as certain types of shared
@c libraries.
@c 
通常のシンボルではなく，動的シンボルを表示します．これは，共有ライブラ
リの特定の形式のような，動的オブジェクトに対してのみ意味があります．

@item -f @var{format}
@itemx --format=@var{format}
@cindex @command{nm} format
@cindex @command{nm} compatibility
@c Use the output format @var{format}, which can be @code{bsd},
@c @code{sysv}, or @code{posix}.  The default is @code{bsd}.
@c Only the first character of @var{format} is significant; it can be
@c either upper or lower case.
@c 
出力書式@var{format}を使用し，書式は@code{bsd}，@code{sysv}，または
@code{posix}が可能です．デフォルトは@code{bsd}です．@var{format}の最初
の文字のみ識別されます．それは大文字または小文字が可能です．

@item -g
@itemx --extern-only 
@cindex external symbols
@c Display only external symbols.
@c 
外部シンボルのみ表示します．

@item -l
@itemx --line-numbers
@cindex symbol line numbers
@c For each symbol, use debugging information to try to find a filename and
@c line number.  For a defined symbol, look for the line number of the
@c address of the symbol.  For an undefined symbol, look for the line
@c number of a relocation entry which refers to the symbol.  If line number
@c information can be found, print it after the other symbol information.
@c 
それぞれのシンボルに対し，ファイル名と行番号を見つけることを試みるため，
デバッグ情報を使用します．定義済シンボルに対し，シンボルのアドレスの行
番号を探します．未定義のシンボルに対し，シンボルを参照する再配置エント
リーの行番号を探します．行番号の情報が見つかる場合，それを他のシンボル
情報の後に出力します．

@item -n
@itemx -v
@itemx --numeric-sort 
@c Sort symbols numerically by their addresses, rather than alphabetically
@c by their names. 
@c 
シンボルを，名前のアルファベット順ではなく，そのアドレスで数値的に並べ
替えます．

@item -p
@itemx --no-sort 
@cindex sorting symbols
@c Do not bother to sort the symbols in any order; print them in the order
@c encountered.
@c 
シンボルの並べ替えを全く行いません．それらを見つかった順番で出力します．

@item -P
@itemx --portability
@c Use the POSIX.2 standard output format instead of the default format.
@c Equivalent to @samp{-f posix}.
@c 
デフォルトの書式の代わりに，POSIX.2標準出力形式を使用します．
@option{-f posix}と同じです．

@item -S
@itemx --print-size
@c Print size, not the value, of defined symbols for the @code{bsd} output format.
@c 
@code{bsd}出力書式で，定義されているシンボルの，値ではなく大きさを出力
します．

@item -s
@itemx --print-armap
@cindex symbol index, listing
@c When listing symbols from archive members, include the index: a mapping
@c (stored in the archive by @command{ar} or @command{ranlib}) of which modules
@c contain definitions for which names.
@c 
アーカイブメンバーからシンボルをリストアップするとき，索引を含めます．
名前に対する定義を含むモジュールの(@command{ar}や@command{ranlib}でアー
カイブに保存されている)マップです．

@item -r
@itemx --reverse-sort 
@c Reverse the order of the sort (whether numeric or alphabetic); let the
@c last come first.
@c 
並べ替えの順序を(数値的またはアルファベット順によらず)逆にします．最後
のものを最初にします．

@item --size-sort
@c Sort symbols by size.  The size is computed as the difference between
@c the value of the symbol and the value of the symbol with the next higher
@c value.  If the @code{bsd} output format is used the size of the symbol 
@c is printed, rather than the value, and @samp{-S} must be used in order 
@c both size and value to be printed.
@c 
シンボルを大きさで並べ替えます．大きさは，そのシンボル値と，次に現れる
より大きい値を持つシンボル値の差として計算されます．シンボル値ではなく，
その大きさが出力されます．シンボルの値ではなく大きさを出力するために，
@code{bsd}の出力書式が使用されている場合，大きさと値の両方を出力するた
めに@samp{-S}も使用する必要があります．

@item --special-syms
@c Display symbols which have a target-specific special meaning.  These
@c symbols are usually used by the target for some special processing and
@c are not normally helpful when included included in the normal symbol
@c lists.  For example for ARM targets this option would skip the mapping
@c symbols used to mark transistions between ARM code, THUMB code and
@c data.
@c 
ターゲット固有の特殊な意味を持つシンボルを表示します．これらのシンボル
は，一般的に特殊な処理を行うターゲットで使用され，通常のシンボルリスト
に含めても通常は役に立ちません．例えば，ARMターゲットではこのオプション
によって，ARMコード，THUMBコード，そしてデータ間の変わり目を示すために
使用されている，マップ用シンボルをスキップします．

@item -t @var{radix}
@itemx --radix=@var{radix}
@c Use @var{radix} as the radix for printing the symbol values.  It must be
@c @samp{d} for decimal, @samp{o} for octal, or @samp{x} for hexadecimal.
@c 
@var{radix}をシンボル値を出力する基数として使用します．それは，10進数の
@samp{d}，8進数の@samp{o}，または16進数の@samp{x}にする必要があります．

@item --target=@var{bfdname}
@cindex object code format
@c Specify an object code format other than your system's default format.
@c @xref{Target Selection}, for more information.
@c 
システムのデフォルトフォーマット以外のオブジェクトコードを指定します．
詳細は，@xref{Target Selection}.

@item -u
@itemx --undefined-only 
@cindex external symbols
@cindex undefined symbols
@c Display only undefined symbols (those external to each object file).
@c 
未定義のシンボルのみ表示します(それらはそれぞれのオブジェクトファイルの
外部にあります)．

@item --defined-only
@cindex external symbols
@cindex undefined symbols
@c Display only defined symbols for each object file.
@c 
それぞれのオブジェクトファイルの定義済シンボルのみ表示します．

@item -V
@itemx --version
@c Show the version number of @command{nm} and exit.
@c 
@command{nm}のバージョンナンバーを表示し終了します．

@item -X
@c This option is ignored for compatibility with the AIX version of
@c @command{nm}.  It takes one parameter which must be the string
@c @option{32_64}.  The default mode of AIX @command{nm} corresponds
@c to @option{-X 32}, which is not supported by @sc{gnu} @command{nm}.
@c 
このオプションは，AIXバージョンの@command{nm}への互換性のため無視されま
す．それは，@option{32_64}とする必要がある，一つのパラメータを持ちます．
AIX @command{nm}のデフォルトモードは@option{-X 32}に対応し，それは
@sc{gnu} @command{nm}ではサポートされていません．

@item --help
@c Show a summary of the options to @command{nm} and exit.
@c 
@command{nm}のオプションの概要を表示し終了します．
@end table

@c man end

@ignore
@c man begin SEEALSO nm
ar(1), objdump(1), ranlib(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node objcopy
@chapter objcopy

@c man title objcopy copy and translate object files

@smallexample
@c man begin SYNOPSIS objcopy
objcopy [@option{-F} @var{bfdname}|@option{--target=}@var{bfdname}]
        [@option{-I} @var{bfdname}|@option{--input-target=}@var{bfdname}]
        [@option{-O} @var{bfdname}|@option{--output-target=}@var{bfdname}]
        [@option{-B} @var{bfdarch}|@option{--binary-architecture=}@var{bfdarch}]
        [@option{-S}|@option{--strip-all}]
        [@option{-g}|@option{--strip-debug}]
        [@option{-K} @var{symbolname}|@option{--keep-symbol=}@var{symbolname}]
        [@option{-N} @var{symbolname}|@option{--strip-symbol=}@var{symbolname}]
        [@option{--strip-unneeded-symbol=}@var{symbolname}]
        [@option{-G} @var{symbolname}|@option{--keep-global-symbol=}@var{symbolname}]
        [@option{-L} @var{symbolname}|@option{--localize-symbol=}@var{symbolname}]
        [@option{-W} @var{symbolname}|@option{--weaken-symbol=}@var{symbolname}]
        [@option{-w}|@option{--wildcard}]
        [@option{-x}|@option{--discard-all}]
        [@option{-X}|@option{--discard-locals}]
        [@option{-b} @var{byte}|@option{--byte=}@var{byte}]
        [@option{-i} @var{interleave}|@option{--interleave=}@var{interleave}]
        [@option{-j} @var{sectionname}|@option{--only-section=}@var{sectionname}]
        [@option{-R} @var{sectionname}|@option{--remove-section=}@var{sectionname}]
        [@option{-p}|@option{--preserve-dates}]
        [@option{--debugging}]
        [@option{--gap-fill=}@var{val}]
        [@option{--pad-to=}@var{address}]
        [@option{--set-start=}@var{val}]
        [@option{--adjust-start=}@var{incr}]
        [@option{--change-addresses=}@var{incr}]
        [@option{--change-section-address} @var{section}@{=,+,-@}@var{val}]
        [@option{--change-section-lma} @var{section}@{=,+,-@}@var{val}]
        [@option{--change-section-vma} @var{section}@{=,+,-@}@var{val}]
        [@option{--change-warnings}] [@option{--no-change-warnings}]
        [@option{--set-section-flags} @var{section}=@var{flags}]
        [@option{--add-section} @var{sectionname}=@var{filename}]
        [@option{--rename-section} @var{oldname}=@var{newname}[,@var{flags}]]
        [@option{--change-leading-char}] [@option{--remove-leading-char}]
        [@option{--srec-len=}@var{ival}] [@option{--srec-forceS3}]
        [@option{--redefine-sym} @var{old}=@var{new}]
        [@option{--redefine-syms=}@var{filename}]
        [@option{--weaken}]
        [@option{--keep-symbols=}@var{filename}]
        [@option{--strip-symbols=}@var{filename}]
        [@option{--strip-unneeded-symbols=}@var{filename}]
        [@option{--keep-global-symbols=}@var{filename}]
        [@option{--localize-symbols=}@var{filename}]
        [@option{--weaken-symbols=}@var{filename}]
        [@option{--alt-machine-code=}@var{index}]
        [@option{--prefix-symbols=}@var{string}]
        [@option{--prefix-sections=}@var{string}]
        [@option{--prefix-alloc-sections=}@var{string}]
        [@option{--add-gnu-debuglink=}@var{path-to-file}]
        [@option{--only-keep-debug}]
        [@option{--writable-text}]
        [@option{--readonly-text}]
        [@option{--pure}]
        [@option{--impure}]
        [@option{-v}|@option{--verbose}]
        [@option{-V}|@option{--version}]  
        [@option{--help}] [@option{--info}]
        @var{infile} [@var{outfile}]
@c man end
@end smallexample

@c man begin DESCRIPTION objcopy
@c The @sc{gnu} @command{objcopy} utility copies the contents of an object
@c file to another.  @command{objcopy} uses the @sc{gnu} @sc{bfd} Library to
@c read and write the object files.  It can write the destination object
@c file in a format different from that of the source object file.  The
@c exact behavior of @command{objcopy} is controlled by command-line options.
@c Note that @command{objcopy} should be able to copy a fully linked file
@c between any two formats. However, copying a relocatable object file
@c between any two formats may not work as expected.
@c 
@sc{gnu} @command{objcopy}ユーティリティは，オブジェクトファイルの内容
を別のファイルにコピーします．@command{objcopy}はオブジェクトファイルの
読み書きに@sc{gnu} @sc{bfd}を使用します．コピー先のオブジェクトファイル
に，コピー元のオブジェクトファイルとは異なるフォーマットで書き出すこと
が可能です．@command{objcopy}の正確な動作は，コマンドラインオプションで
制御されます．@command{objcopy}は，完全にリンクされているファイルを，二
つの書式間でコピー可能であるべきだということに注意してください．しかし，
再配置可能なオブジェクトファイルを二つのフォーマットの間でコピーするこ
とは，期待したようには動作しません．

@c @command{objcopy} creates temporary files to do its translations and
@c deletes them afterward.  @command{objcopy} uses @sc{bfd} to do all its
@c translation work; it has access to all the formats described in @sc{bfd}
@c and thus is able to recognize most formats without being told
@c explicitly.  @xref{BFD,,BFD,ld.info,Using LD}.
@c 
@command{objcopy}は，その変換を行うために一時ファイルを作成し，その後で
それを削除します．@command{objcopy}は，そのすべての変換作業で@sc{bfd}を
使用します．それは，@sc{bfd}で記述されているすべてのフォーマットにアク
セスするので，明示的に伝えること無く，ほとんどのフォーマットを認識する
ことが可能です．@xref{BFD,,BFD,ld.info,Using LD}.

@c @command{objcopy} can be used to generate S-records by using an output
@c target of @samp{srec} (e.g., use @samp{-O srec}).
@c 
@command{objcopy}は，@samp{srec}出力ターゲットを使用することで，
S-recordを生成するために使用することが可能です(例えば，@option{-O
srec}を使用してください)．

@c @command{objcopy} can be used to generate a raw binary file by using an
@c output target of @samp{binary} (e.g., use @option{-O binary}).  When
@c @command{objcopy} generates a raw binary file, it will essentially produce
@c a memory dump of the contents of the input object file.  All symbols and
@c relocation information will be discarded.  The memory dump will start at
@c the load address of the lowest section copied into the output file.
@c 
@command{objcopy}は，@samp{binary}の出力ターゲットを使用することで，生
のバイナリファイルを生成するために使用することが可能です(例えば，
@option{-O binary}を使用してください)．@command{objcopy}が生のバイナリ
ファイルを生成するとき，それは本質的に，入力オブジェクトファイルの内容
のメモリダンプを生成します．すべてのシンボルと再配置の情報は削除されま
す．メモリダンプは，出力ファイルにコピーされる最抵位のセクションのロー
ドアドレスから開始します．

@c When generating an S-record or a raw binary file, it may be helpful to
@c use @option{-S} to remove sections containing debugging information.  In
@c some cases @option{-R} will be useful to remove sections which contain
@c information that is not needed by the binary file.
@c 
S-recordや生のバイナリファイルを生成するとき，デバッグ情報を含むセクショ
ンを削除するため，@option{-S}を使用すると便利かもしれません．場合によっ
ては，バイナリファイルに必要のない情報を含むセクションを削除するため，
@option{-R}が役に立つでしょう．

@c Note---@command{objcopy} is not able to change the endianness of its input
@c files.  If the input format has an endianness (some formats do not),
@c @command{objcopy} can only copy the inputs into file formats that have the
@c same endianness or which have no endianness (e.g., @samp{srec}).
@c 
注意---@command{objcopy}は，入力ファイルのエンディアンを変更することが
できません．入力フォーマットにエンディアンがある場合，(持たないフォーマッ
トもあります)，@command{objcopy}は，入力ファイルを同じエンディアンを持
つ，またはエンディアンを持たないフォーマットのファイル(例えば
@samp{srec})だけにコピーすることが可能です．

@c man end

@c man begin OPTIONS objcopy

@table @env
@item @var{infile}
@itemx @var{outfile}
@c The input and output files, respectively.
@c If you do not specify @var{outfile}, @command{objcopy} creates a
@c temporary file and destructively renames the result with
@c the name of @var{infile}.
@c 
それぞれ入力と出力のファイルです．@var{outfile}を指定しない場合，
@command{objcopy}は結果的に破壊される一時ファイルを作成し，
@var{infile}に名前を変更します．

@item -I @var{bfdname}
@itemx --input-target=@var{bfdname}
@c Consider the source file's object format to be @var{bfdname}, rather than
@c attempting to deduce it.  @xref{Target Selection}, for more information.
@c 
ソースファイルのオブジェクトのフォーマットを，それを導き出すのではなく，
@var{bfdname}と考えます．詳細は，@xref{Target Selection}.

@item -O @var{bfdname}
@itemx --output-target=@var{bfdname}
@c Write the output file using the object format @var{bfdname}.
@c @xref{Target Selection}, for more information.
@c 
出力ファイルを，オブジェクトファイルのフォーマット@var{bfdname}を用いて
書き出します．詳細は，@xref{Target Selection}.

@item -F @var{bfdname}
@itemx --target=@var{bfdname}
@c Use @var{bfdname} as the object format for both the input and the output
@c file; i.e., simply transfer data from source to destination with no
@c translation.  @xref{Target Selection}, for more information.
@c 
入出力両方のファイルに対し，オブジェクトのフォーマットとして
@var{bfdname}を使用します．すなわち，単純に元ファイルからコピー先のファ
イルに，変換せずにデータを転送します．詳細は，@xref{Target Selection}.

@item -B @var{bfdarch}
@itemx --binary-architecture=@var{bfdarch}
@c Useful when transforming a raw binary input file into an object file.
@c In this case the output architecture can be set to @var{bfdarch}. This
@c option will be ignored if the input file has a known @var{bfdarch}. You
@c can access this binary data inside a program by referencing the special
@c symbols that are created by the conversion process.  These symbols are
@c called _binary_@var{objfile}_start, _binary_@var{objfile}_end and
@c _binary_@var{objfile}_size.  e.g. you can transform a picture file into
@c an object file and then access it in your code using these symbols. 
@c 
生の入力ファイルをオブジェクトファイルに変換するとき役に立ちます．この
状況では，出力先のアーキテクチャは@var{bfdarch}に設定されるはずです．入
力ファイルに既知の@var{bfdarch}がある場合，このオプションは無視されます．
変換処理で作成される特殊なシンボルを参照することで，このバイナリデータ
をプログラム内部でアクセスすることが可能です．これらのシンボルは，
@samp{_binary_@var{objfile}_start}，@samp{_binary_@var{objfile}_end}，
そして@samp{_binary_@var{objfile}_size}という名前です．例えば，画像ファ
イルをオブジェクトファイルに変換した後，これらのシンボルを使用してコー
ド内でアクセスすることが可能です．

@item -j @var{sectionname}
@itemx --only-section=@var{sectionname}
@c Copy only the named section from the input file to the output file.
@c This option may be given more than once.  Note that using this option
@c inappropriately may make the output file unusable.
@c 
指名されたセクションのみ，入力ファイルから出力ファイルへコピーします．
このオプションは，一回以上与えてもかまいません．このオプションを不適切
に使用すると，出力ファイルが使用不可能になることに注意してください．

@item -R @var{sectionname}
@itemx --remove-section=@var{sectionname}
@c Remove any section named @var{sectionname} from the output file.  This
@c option may be given more than once.  Note that using this option
@c inappropriately may make the output file unusable.
@c 
指名されている，あらゆる@var{sectionname}セクションを出力ファイルから削
除します．このオプションは，一回以上与えてもかまいません．このオプショ
ンを不適切に使用すると，出力ファイルが使用不可能になることに注意してく
ださい．

@item -S
@itemx --strip-all
@c Do not copy relocation and symbol information from the source file.
@c 
再配置の情報ととシンボルの情報を，ソースファイルからコピーしません．

@item -g
@itemx --strip-debug
@c Do not copy debugging symbols or sections from the source file.
@c 
デバッグのシンボルやセクションをソースファイルからコピーしません．

@item --strip-unneeded
@c Strip all symbols that are not needed for relocation processing.
@c 
再配置の処理に不要な，すべてのシンボルを削除します．

@item -K @var{symbolname}
@itemx --keep-symbol=@var{symbolname}
@c Copy only symbol @var{symbolname} from the source file.  This option may
@c be given more than once.
@c 
ソースファイルからシンボル@var{symbolname}のみコピーします．このオプショ
ンは，一回以上与えてもかまいません．

@item -N @var{symbolname}
@itemx --strip-symbol=@var{symbolname}
@c Do not copy symbol @var{symbolname} from the source file.  This option
@c may be given more than once.
@c 
ソースファイルからシンボル@var{symbolname}をコピーしません．このオプショ
ンは，一回以上与えてもかまいません．

@item --strip-unneeded-symbol=@var{symbolname}
@c Do not copy symbol @var{symbolname} from the source file unless it is needed
@c by a relocation.  This option may be given more than once.
@c 
再配置で必要でない限り，シンボル@var{symbolname}を，ソースファイルから
コピーしません．このオプションは，一回以上与えてもかまいません．

@item -G @var{symbolname}
@itemx --keep-global-symbol=@var{symbolname}
@c Keep only symbol @var{symbolname} global.  Make all other symbols local
@c to the file, so that they are not visible externally.  This option may
@c be given more than once.
@c 
グローバルな@var{symbolname}シンボルのみ保持します．すべての他のシンボ
ルをそれらが外部から見えないようにファイルローカルにします．このオプショ
ンは一回以上与えてもかまいません．

@item -L @var{symbolname}
@itemx --localize-symbol=@var{symbolname}
@c Make symbol @var{symbolname} local to the file, so that it is not
@c visible externally.  This option may be given more than once.
@c 
外部から見えないようにするため，シンボル@var{symbolname}をファイルでロー
カルにします．このオプションは，一回以上与えてもかまいません．

@item -W @var{symbolname}
@itemx --weaken-symbol=@var{symbolname}
@c Make symbol @var{symbolname} weak. This option may be given more than once.
@c 
シンボル@var{symbolname}をweakにします．このオプションは，一回以上与え
てもかまいません．

@item -w
@itemx --wildcard
@c Permit regular expressions in @var{symbolname}s used in other command
@c line options.  The question mark (?), asterisk (*), backslash (\) and
@c square brackets ([]) operators can be used anywhere in the symbol
@c name.  If the first character of the symbol name is the exclamation
@c point (!) then the sense of the switch is reversed for that symbol.
@c For example:
@c 
コマンドラインオプションで使用するため，@var{symbolname}での正規表現を
許可します．疑問符(?)，アスタリスク(*)，バックスラッシュ(\)，そして角括
弧([])オペレータを，シンボル名の任意の場所に使用することが可能です．シ
ンボル名の最初の文字が感嘆符(!)の場合，シンボルに対するスイッチの意味を
反対にします．例えば，以下を考えます．

@smallexample
  -w -W !foo -W fo*
@end smallexample

@c would cause objcopy to weaken all symbols that start with ``fo''
@c except for the symbol ``foo''.
@c 
これで，@command{objcopy}は，シンボル``foo''以外の，``fo''で始まるすべ
てのシンボルをweakにします．

@item -x
@itemx --discard-all
@c Do not copy non-global symbols from the source file.
@c 
ソースファイルからグローバルでないシンボルをコピーしません．
@c FIXME any reason to prefer "non-global" to "local" here?

@item -X
@itemx --discard-locals
@c Do not copy compiler-generated local symbols.
@c (These usually start with @samp{L} or @samp{.}.)
@c 
コンパイラが生成したローカルなシンボルをコピーしません．(これらは通常，
@samp{L}または@samp{.}ではじまります．)

@item -b @var{byte}
@itemx --byte=@var{byte}
@c Keep only every @var{byte}th byte of the input file (header data is not
@c affected).  @var{byte} can be in the range from 0 to @var{interleave}-1,
@c where @var{interleave} is given by the @option{-i} or @option{--interleave}
@c option, or the default of 4.  This option is useful for creating files
@c to program @sc{rom}.  It is typically used with an @code{srec} output
@c target.
@c 
入力ファイルの@var{byte}バイトごとのバイトのみ保持します(ヘッダデータは
影響されません)．@var{byte}は，0から@var{interleave}-1までの範囲が可能
で，@var{interleave}は，@option{-i}や@option{--interleave}オプションで
与えられる，またはデフォルトの4になります．このオプションは，プログラマ
ブル@sc{rom}にファイルを作成するとき便利です．それは特に，@code{srec}出
力ターゲットとともに使用されます．

@item -i @var{interleave}
@itemx --interleave=@var{interleave}
@c Only copy one out of every @var{interleave} bytes.  Select which byte to
@c copy with the @option{-b} or @option{--byte} option.  The default is 4.
@c @command{objcopy} ignores this option if you do not specify either @option{-b} or
@c @option{--byte}.
@c 
@var{interleave}バイトごとに一つだけコピーします．@option{-b}や
@option{--byte}オプションを用いてそのバイトを選択してください．デフォル
トは4です．@command{objcopy}は，@option{-b}や@option{--byte}を指定して
いない場合，このオプションを無視します．

@item -p
@itemx --preserve-dates
@c Set the access and modification dates of the output file to be the same
@c as those of the input file.
@c 
出力ファイルのアクセスと編集の日付を入力ファイルと同じに設定します．

@item --debugging
@c Convert debugging information, if possible.  This is not the default
@c because only certain debugging formats are supported, and the
@c conversion process can be time consuming.
@c 
可能な場合，デバッグ情報を変換します．特定のデバッグフォーマットのみサ
ポートされていて，そして，変換処理は時間がかかるため，これはデフォルト
ではありません．

@item --gap-fill @var{val}
@c Fill gaps between sections with @var{val}.  This operation applies to
@c the @emph{load address} (LMA) of the sections.  It is done by increasing
@c the size of the section with the lower address, and filling in the extra
@c space created with @var{val}.
@c 
@var{val}を用いてセクション間のギャップを補充します．このオプションはセ
クションの@emph{load address} (LMA)に適用されます．それは，lower
addressでセクションの大きさを増加し，そして，@var{val}を用いて作成され
る余分な空間で補充することで動作します．

@item --pad-to @var{address}
@c Pad the output file up to the load address @var{address}.  This is
@c done by increasing the size of the last section.  The extra space is
@c filled in with the value specified by @option{--gap-fill} (default zero).
@c 
出力ファイルをload address @var{address}までパディングします．これは，
最後のセクションの大きさを増加することで動作します．余分な空間は，
@option{--gap-fill}で指定された値(デフォルトはゼロ)で補充されます．

@item --set-start @var{val}
@c Set the start address of the new file to @var{val}.  Not all object file
@c formats support setting the start address.
@c 
新しいファイルの開始アドレスを@var{val}に設定します．すべてのオブジェク
トファイルのフォーマットが，開始アドレスの設定をサポートするわけではあ
りません．

@item --change-start @var{incr}
@itemx --adjust-start @var{incr}
@cindex changing start address
@c Change the start address by adding @var{incr}.  Not all object file
@c formats support setting the start address.
@c 
開始アドレスを@var{incr}を加えることで変更します．すべてのオブジェクト
ファイルのフォーマットが，開始アドレスの設定をサポートするわけではあり
ません．

@item --change-addresses @var{incr}
@itemx --adjust-vma @var{incr}
@cindex changing object addresses
@c Change the VMA and LMA addresses of all sections, as well as the start
@c address, by adding @var{incr}.  Some object file formats do not permit
@c section addresses to be changed arbitrarily.  Note that this does not
@c relocate the sections; if the program expects sections to be loaded at a
@c certain address, and this option is used to change the sections such
@c that they are loaded at a different address, the program may fail. 
@c 
開始アドレスのように，@var{incr}を加えることで，VMAとLMAアドレスを変更
します．オブジェクトファイルのフォーマットによっては，セクションアドレ
スを任意に変更できないものもあります．これはセクションを再配置しないこ
とに注意してください．セクションが特定のアドレスにロードされていること
をプログラムが期待し，セクションが異なるアドレスにロードされるように変
更するために，このオプションが使用された場合，プログラムは失敗するかも
しれません．

@item --change-section-address @var{section}@{=,+,-@}@var{val}
@itemx --adjust-section-vma @var{section}@{=,+,-@}@var{val}
@cindex changing section address
@c Set or change both the VMA address and the LMA address of the named
@c @var{section}.  If @samp{=} is used, the section address is set to
@c @var{val}.  Otherwise, @var{val} is added to or subtracted from the
@c section address.  See the comments under @option{--change-addresses},
@c above. If @var{section} does not exist in the input file, a warning will
@c be issued, unless @option{--no-change-warnings} is used.
@c 
@var{section}で指名されたVMAアドレスとLMAアドレスの両方を設定または変更
します．@samp{=}が使用された場合，セクションのアドレスは，@var{val} に
設定されます．それ以外の場合，@var{val}は，セクションアドレスに加えられ
る，またはそれから引かれます．上記の@option{--change-addresses}以下のコ
メントを参照してください．入力ファイルに@var{section}が存在しない場合，
@option{--no-change-warnings}が使用されていない限り，警告が発せられます．

@item --change-section-lma @var{section}@{=,+,-@}@var{val}
@cindex changing section LMA
@c Set or change the LMA address of the named @var{section}.  The LMA
@c address is the address where the section will be loaded into memory at
@c program load time.  Normally this is the same as the VMA address, which
@c is the address of the section at program run time, but on some systems,
@c especially those where a program is held in ROM, the two can be
@c different.  If @samp{=} is used, the section address is set to
@c @var{val}.  Otherwise, @var{val} is added to or subtracted from the
@c section address.  See the comments under @option{--change-addresses},
@c above.  If @var{section} does not exist in the input file, a warning
@c will be issued, unless @option{--no-change-warnings} is used.  
@c 
指名された@var{section}のLMAアドレスを設定または変更します．LMAアドレス
は，プログラムロード時にセクションがメモリにロードされるアドレスです．
通常これはVMAと同じで，それは，プログラムの実行時のセクションのアドレス
ですが，システムによっては，特にプログラムがROMに保存されるものでは，二
つが異なる可能性があります．@samp{=}が使用されている場合，セクションの
アドレスは，@var{val}に設定されます．それ以外の場合，@var{val}はセクショ
ンアドレスに加えられる，またはそれから引かれます．上記の
@option{--change-addresses}以下のコメントを参照してください．
@var{section}が入力ファイルに存在しない場合，
@option{--no-change-warnings}が使用されていない限り，警告が発せられます．

@item --change-section-vma @var{section}@{=,+,-@}@var{val}
@cindex changing section VMA
@c Set or change the VMA address of the named @var{section}.  The VMA
@c address is the address where the section will be located once the
@c program has started executing.  Normally this is the same as the LMA
@c address, which is the address where the section will be loaded into
@c memory, but on some systems, especially those where a program is held in
@c ROM, the two can be different.  If @samp{=} is used, the section address
@c is set to @var{val}.  Otherwise, @var{val} is added to or subtracted
@c from the section address.  See the comments under
@c @option{--change-addresses}, above.  If @var{section} does not exist in
@c the input file, a warning will be issued, unless
@c @option{--no-change-warnings} is used.   
@c 
指名された@var{section}のVMAアドレスを設定または変更します．VMAアドレス
は，プログラムの実行を開始したときにセクションが位置するアドレスです．
通常これはLMAと同じで，それは，セクションがメモリにロードされるアドレス
ですが，システムによっては，特にプログラムがROMに保存されるものでは，二
つのアドレスが異なる可能性があります．@samp{=}が使用されている場合，セ
クションのアドレスは，@var{val}に設定されます．それ以外の場合，
@var{val}はセクションアドレスに加えられる，またはそれから引かれます．上
記の@option{--change-addresses}以下のコメントを参照してください．
@var{section}が入力ファイルに存在しない場合，
@option{--no-change-warnings}が使用されていない限り，警告が発せられます．

@item --change-warnings
@itemx --adjust-warnings
@c If @option{--change-section-address} or @option{--change-section-lma} or
@c @option{--change-section-vma} is used, and the named section does not
@c exist, issue a warning.  This is the default. 
@c 
@option{--change-section-address}や@option{--change-section-lma}や
@option{--change-section-vma}が使用されていて，指名されたセクションが存
在しない場合，警告を発します．これはデフォルトです．

@item --no-change-warnings
@itemx --no-adjust-warnings
@c Do not issue a warning if @option{--change-section-address} or
@c @option{--adjust-section-lma} or @option{--adjust-section-vma} is used, even
@c if the named section does not exist. 
@c 
@option{--change-section-address}や@option{--change-section-lma}や
@option{--change-section-vma}が使用されていて，指名されたセクションが存
在しない場合でも警告を発しません．

@item --set-section-flags @var{section}=@var{flags}
@c Set the flags for the named section.  The @var{flags} argument is a
@c comma separated string of flag names.  The recognized names are
@c @samp{alloc}, @samp{contents}, @samp{load}, @samp{noload},
@c @samp{readonly}, @samp{code}, @samp{data}, @samp{rom}, @samp{share}, and
@c @samp{debug}.  You can set the @samp{contents} flag for a section which
@c does not have contents, but it is not meaningful to clear the
@c @samp{contents} flag of a section which does have contents--just remove
@c the section instead.  Not all flags are meaningful for all object file
@c formats.
@c 
指名したセクションのフラグを設定します．@var{flags}引数は，カンマで分け
られたフラグ名の文字列です．認識される名前は，@samp{alloc}，
@samp{contents}，@samp{load}，@samp{noload}，@samp{readonly}，
@samp{code}，@samp{data}，@samp{rom}，@samp{share}，そして@samp{debug}
です．@samp{contents}フラグを内容のないセクションに対し設定可能ですが，
内容のあるセクションの@samp{contents}フラグとしての意味がありません---
その代わりにセクションを削除します．すべてのフラグがすべてのオブジェク
トファイルのフォーマットに意味があるわけではありません．

@item --add-section @var{sectionname}=@var{filename}
@c Add a new section named @var{sectionname} while copying the file.  The
@c contents of the new section are taken from the file @var{filename}.  The
@c size of the section will be the size of the file.  This option only
@c works on file formats which can support sections with arbitrary names.
@c 
ファイルをコピーしている間に，指名された@var{sectionname}の新しいセクショ
ンを追加します．新しいセクションの内容はファイル@var{filename}からもた
らされます．セクションの大きさは，ファイルの大きさになります．このオプ
ションは，任意の名前を持つセクションをサポート可能なファイルのフォーマッ
トでのみ動作します．

@item --rename-section @var{oldname}=@var{newname}[,@var{flags}]
@c Rename a section from @var{oldname} to @var{newname}, optionally
@c changing the section's flags to @var{flags} in the process.  This has
@c the advantage over usng a linker script to perform the rename in that
@c the output stays as an object file and does not become a linked
@c executable.
@c 
セクションの名前を@var{oldname}から@var{newname}に変更し，オプションで
セクションのフラグを@var{flags}に，処理中に変更します．名前の変更を実行
するためにリンカスクリプトを使用すると，オブジェクトファイルとして出力
が抑制されリンクされた実行形式にはならないので，これには利点があります．

@c This option is particularly helpful when the input format is binary,
@c since this will always create a section called .data.  If for example,
@c you wanted instead to create a section called .rodata containing binary
@c data you could use the following command line to achieve it:
@c 
このオプションは，@samp{.data}いう名前のセクションを常に作成するので，
入力フォーマットがバイナリのとき，特に役に立ちます．例えば，バイナリデー
タを含んでいる@samp{.rodata}いう名前のセクションを作成したい場合，それ
を達成するために以下のコマンドラインを使用することが可能でしょう．

@smallexample
  objcopy -I binary -O <output_format> -B <architecture> \
   --rename-section .data=.rodata,alloc,load,readonly,data,contents \
   <input_binary_file> <output_object_file>
@end smallexample

@item --change-leading-char
@c Some object file formats use special characters at the start of
@c symbols.  The most common such character is underscore, which compilers
@c often add before every symbol.  This option tells @command{objcopy} to
@c change the leading character of every symbol when it converts between
@c object file formats.  If the object file formats use the same leading
@c character, this option has no effect.  Otherwise, it will add a
@c character, or remove a character, or change a character, as
@c appropriate.
@c 
オブジェクトファイルのフォーマットには，シンボルの開始時に特別な文字を
使用するものもあります．そのような文字で最もよくあるのはアンダースコア
で，それはコンパイラがすべてのシンボルの前によく追加するものです．この
オプションは，@command{objcopy}に，オブジェクトファイルのフォーマットを
変換している間にすべてのシンボルに前置される文字を変更するよう伝えます．
オブジェクトファイルのフォーマットが同じ前置文字を使用している場合，こ
のオプションは効果がありません．それ以外の場合，それは適切に，文字を加
えたり，文字を削除したり，文字を変更したりします．

@item --remove-leading-char
@c If the first character of a global symbol is a special symbol leading
@c character used by the object file format, remove the character.  The
@c most common symbol leading character is underscore.  This option will
@c remove a leading underscore from all global symbols.  This can be useful
@c if you want to link together objects of different file formats with
@c different conventions for symbol names.  This is different from
@c @option{--change-leading-char} because it always changes the symbol name
@c when appropriate, regardless of the object file format of the output
@c file.
@c 
グローバルシンボルの最初の文字が，オブジェクトファイルのフォーマットで
使用されているシンボルに前置される特殊な文字の場合，その文字を削除しま
す．そのような文字で最もよくあるのはアンダースコアです．このオプション
は，すべてのグローバルシンボルから前置されるアンダースコアを削除します．
シンボル名に対して異なる規則を持つ，異なるファイルフォーマットのオブジェ
クト同士をリンクしたい場合，これは役に立つはずです．これは
@option{--change-leading-char}とは異なり，出力ファイルのオブジェクトファ
イルのフォーマットに依存せず，それは適切なときは常にシンボル名を変更し
ます．

@item --srec-len=@var{ival}
@c Meaningful only for srec output.  Set the maximum length of the Srecords
@c being produced to @var{ival}.  This length covers both address, data and
@c crc fields.
@c 
srec出力でのみ意味があります．生成されているSrecordの最大長を
@var{ival}に設定します．この長さは，両方のアドレス，データ，そしてcrc
フィールドをカバーします．

@item --srec-forceS3
@c Meaningful only for srec output.  Avoid generation of S1/S2 records, 
@c creating S3-only record format.
@c 
srec出力でのみ意味があります．S1/S2レコードの生成を避け，S3のみのレコー
ドのフォーマットを作成します．

@item --redefine-sym @var{old}=@var{new}
@c Change the name of a symbol @var{old}, to @var{new}.  This can be useful
@c when one is trying link two things together for which you have no
@c source, and there are name collisions.
@c 
シンボル名を@var{old}から@var{new}に変更します．ソースを持っていない二
つのものを一緒にリンクしようとし，名前の衝突があるとき便利です．

@item --redefine-syms=@var{filename}
@c Apply @option{--redefine-sym} to each symbol pair "@var{old} @var{new}"
@c listed in the file @var{filename}.  @var{filename} is simply a flat file,
@c with one symbol pair per line.  Line comments may be introduced by the hash
@c character.  This option may be given more than once.
@c 
ファイル@var{filename}にリストアップされているそれぞれのシンボル対
"@var{old} @var{new}"に，@option{--redefine-sym}を適用します．
@var{filename}は単純なフラットファイルで，一行ごとに一つのシンボルの組
を書きます．行コメントはハッシュ文字(#)で始めることが可能です．このオプ
ションは，一回以上与えてもかまいません．

@item --weaken
@c Change all global symbols in the file to be weak.  This can be useful
@c when building an object which will be linked against other objects using
@c the @option{-R} option to the linker.  This option is only effective when
@c using an object file format which supports weak symbols.
@c 
ファイルのすべてのグローバルシンボルをweakにします．リンカに対し
@option{-R}オプションを使用している他のオブジェクトに対してリンクするオ
ブジェクトを構築するとき，これは便利です．このオプションは，weakなシン
ボルをサポートしているオブジェクトファイルを使用しているときだけ効果が
あります．

@item --keep-symbols=@var{filename}
@c Apply @option{--keep-symbol} option to each symbol listed in the file
@c @var{filename}.  @var{filename} is simply a flat file, with one symbol
@c name per line.  Line comments may be introduced by the hash character.
@c This option may be given more than once.
@c 
@option{--keep-symbol}オプションを，ファイル@var{filename}にリストアッ
プされているそれぞれのシンボルに適用します．@var{filename}は単なるフラッ
トなファイルで，一行に一つのシンボル名があります．行のコメントはハッシュ
文字(#)で始めることが可能です．このオプションは一回以上与えてもかまいま
せん．

@item --strip-symbols=@var{filename}
@c Apply @option{--strip-symbol} option to each symbol listed in the file
@c @var{filename}.  @var{filename} is simply a flat file, with one symbol
@c name per line.  Line comments may be introduced by the hash character.
@c This option may be given more than once.
@c 
@option{--strip-symbol}オプションを，ファイル@var{filename}にリストアッ
プされているそれぞれのシンボルに適用します．@var{filename}は単なるフラッ
トなファイルで，一行に一つのシンボル名があります．行のコメントはハッシュ
文字(#)で始めることが可能です．このオプションは一回以上与えてもかまいま
せん．

@item --strip-unneeded-symbols=@var{filename}
@c Apply @option{--strip-unneeded-symbol} option to each symbol listed in
@c the file @var{filename}.  @var{filename} is simply a flat file, with one
@c symbol name per line.  Line comments may be introduced by the hash
@c character.  This option may be given more than once.
@c 
ファイル@var{filename}にリストアップされているそれぞれのシンボルに，に
@option{--strip-unneeded-symbol}を適用します．@var{filename}は単純なフ
ラットファイルで，一行ごとに一つのシンボルを書きます．行コメントはハッ
シュ文字(#)で始めることが可能です．このオプションは一回以上与えてもかま
いません．

@item --keep-global-symbols=@var{filename}
@c Apply @option{--keep-global-symbol} option to each symbol listed in the
@c file @var{filename}.  @var{filename} is simply a flat file, with one
@c symbol name per line.  Line comments may be introduced by the hash
@c character.  This option may be given more than once.
@c 
@option{--keep-global-symbol}オプションを，ファイル@var{filename}にリス
トアップされているそれぞれのシンボルに適用します．@var{filename}は単な
るフラットなファイルで，一行に一つのシンボル名があります．行のコメント
はハッシュ文字(#)で始めることが可能です．このオプションは一回以上与えて
もかまいません．

@item --localize-symbols=@var{filename}
@c Apply @option{--localize-symbol} option to each symbol listed in the file
@c @var{filename}.  @var{filename} is simply a flat file, with one symbol
@c name per line.  Line comments may be introduced by the hash character.
@c This option may be given more than once.
@c 
@option{--localize-symbol}オプションを，ファイル@var{filename}にリスト
アップされているそれぞれのシンボルに適用します．@var{filename}は単なる
フラットなファイルで，一行に一つのシンボル名があります．行のコメントは
ハッシュ文字(#)で始めることが可能です．このオプションは一回以上与えても
かまいません．

@item --weaken-symbols=@var{filename}
@c Apply @option{--weaken-symbol} option to each symbol listed in the file
@c @var{filename}.  @var{filename} is simply a flat file, with one symbol
@c name per line.  Line comments may be introduced by the hash character.
@c This option may be given more than once.
@c 
@option{--weaken-symbol}オプションを，ファイル@var{filename}にリストアッ
プされているそれぞれのシンボルに適用します．@var{filename}は単なるフラッ
トなファイルで，一行に一つのシンボル名があります．行のコメントはハッシュ
文字(#)で始めることが可能です．このオプションは一回以上与えてもかまいま
せん．

@item --alt-machine-code=@var{index}
@c If the output architecture has alternate machine codes, use the
@c @var{index}th code instead of the default one.  This is useful in case
@c a machine is assigned an official code and the tool-chain adopts the 
@c new code, but other applications still depend on the original code
@c being used.
@c 
出力アーキテクチャに代替のマシンコードがある場合，デフォルトのものの代
わりに@var{index}番目のコードを使用します．マシンに公式のコードが割り当
てられていて，ツールチェーンが新しいコードに適用するのですが，他のアプ
リケーションはまだ使用されているオリジナルのコードに依存している状況で
は，これは役に立ちます．

@item --writable-text
@c Mark the output text as writable.  This option isn't meaningful for all
@c object file formats.
@c 
出力テキストを書き込み可能で印をつけます．このオプションは，すべてのオ
ブジェクトファイルのフォーマットで意味があるわけではありません．

@item --readonly-text
@c Make the output text write protected.  This option isn't meaningful for all
@c object file formats.
@c 
出力テキストを書き込み禁止で印をつけます．このオプションは，すべてのオ
ブジェクトファイルのフォーマットで意味があるわけではありません．

@item --pure
@c Mark the output file as demand paged.  This option isn't meaningful for all
@c object file formats.
@c 
出力ファイルを必須ページとして印をつけます．このオプションは，すべての
オブジェクトファイルのフォーマットで意味があるわけではありません．

@item --impure
@c Mark the output file as impure.  This option isn't meaningful for all
@c object file formats.
@c 
出力ファイルをimpure(不純)として印をつけます．このオプションは，すべて
のオブジェクトファイルのフォーマットで意味があるわけではありません．

@item --prefix-symbols=@var{string}
@c Prefix all symbols in the output file with @var{string}.
@c 
出力ファイルのすべてのシンボルに@var{string}を前置します．

@item --prefix-sections=@var{string}
@c Prefix all section names in the output file with @var{string}.
@c 
出力ファイルのすべてのセクション名に@var{string}を前置します．

@item --prefix-alloc-sections=@var{string}
@c Prefix all the names of all allocated sections in the output file with
@c @var{string}.
@c 
出力ファイルのすべてのアロケートされたセクション名に@var{string}を前置
します．

@item --add-gnu-debuglink=@var{path-to-file}
@c Creates a .gnu_debuglink section which contains a reference to @var{path-to-file}
@c and adds it to the output file.
@c 
@var{path-to-file}への参照を含み，それを出力ファイルに追加す
る，.gnu_debuglinkセクションを作成します．

@item --only-keep-debug
@c Strip a file, removing any sections that would be stripped by
@c @option{--strip-debug} and leaving the debugging sections.
@c 
@option{--strip-debug}でstripされるセクションを削除し，デバッグセクショ
ンを残しながら，ファイルをstripします．

@c The intention is that this option will be used in conjunction with
@c @option{--add-gnu-debuglink} to create a two part executable.  One a
@c stripped binary which will occupy less space in RAM and in a
@c distribution and the second a debugging information file which is only
@c needed if debugging abilities are required.  The suggested procedure
@c to create these files is as follows:
@c 
このオプションの目的は，二つの部分の実行形式を作成するために
@option{--add-gnu-debuglink}を組み合わせで使用します．一つは，RAMと配布
物にスペースが無い場合のstripされたバイナリで，二番目のデバッグ情報ファ
イルは，デバッグ能力が要求される場合だけ必要になります．これらのファイ
ルを作成するための推奨手順は以下の通りです．

@enumerate
@c @item Link the executable as normal.  Assuming that is is called
@c @code{foo} then...
@c @item Run @code{objcopy --only-keep-debug foo foo.dbg} to
@c create a file containing the debugging info.
@c @item Run @code{objcopy --strip-debug foo} to create a
@c stripped executable.
@c @item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo}
@c to add a link to the debugging info into the stripped executable.
@c 
@item
通常の実行形式のリンク．@code{foo}と仮定します．
@item
デバッグ情報を含んでいるファイルを作成するために@code{objcopy
--only-keep-debug foo foo.dbg}の実行．
@item
stripされた実行形式を作成するために@code{objcopy --strip-debug foo}の実
行．
@item
stripされた実行形式にデバッグ情報を追加リンクするために@code{objcopy
--add-gnu-debuglink=foo.dbg foo}を実行．
@end enumerate

@c Note - the choice of @code{.dbg} as an extension for the debug info
@c file is arbitrary.  Also the @code{--only-keep-debug} step is
@c optional.  You could instead do this:
@c 
注意 - デバッグ情報ファイルに対する拡張として，@code{.dbg}の選択は任意
です．また，@code{--only-keep-debug}の段階はオプションです．代わりに以
下のようにすることも可能です．

@enumerate
@c @item Link the executable as normal.
@c @item Copy @code{foo} to  @code{foo.full}
@c @item Run @code{strip --strip-debug foo}
@c @item Run @code{objcopy --add-gnu-debuglink=foo.full foo}
@c 
@item
通常の実行形式のリンク．
@item
@code{foo}を@code{foo.full}へコピー．
@item
@code{strip --strip-debug foo}の実行．
@item
@code{objcopy --add-gnu-debuglink=foo.full foo}の実行．
@end enumerate

@c ie the file pointed to by the @option{--add-gnu-debuglink} can be the
@c full executable.  It does not have to be a file created by the
@c @option{--only-keep-debug} switch.
@c 
つまり，@option{--add-gnu-debuglink}で示されるファイルは，完全な実行形
式です．@option{--only-keep-debug}スイッチファイルを生成する必要はあり
ません．

@item -V
@itemx --version
@c Show the version number of @command{objcopy}.
@c 
@command{objcopy}のバージョンナンバーを表示します．

@item -v
@itemx --verbose
@c Verbose output: list all object files modified.  In the case of
@c archives, @samp{objcopy -V} lists all members of the archive.
@c 
冗長な出力です．修正されたすべてのオブジェクトファイルをリストアップし
ます．アーカイブの場合，@samp{objcopy -v}は，アーカイブのすべてのメンバー
をリストアップします．

@item --help
@c Show a summary of the options to @command{objcopy}.
@c 
@command{objcopy}へのオプションの概要を表示します．

@item --info
@c Display a list showing all architectures and object formats available.
@c 
すべてのアーキテクチャと利用可能なオブジェクトのフォーマットを示すリス
トを表示します．
@end table

@c man end

@ignore
@c man begin SEEALSO objcopy
ld(1), objdump(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node objdump
@chapter objdump

@cindex object file information
@kindex objdump

@c man title objdump display information from object files.

@smallexample
@c man begin SYNOPSIS objdump
objdump [@option{-a}|@option{--archive-headers}]
        [@option{-b} @var{bfdname}|@option{--target=@var{bfdname}}]
        [@option{-C}|@option{--demangle}[=@var{style}] ]
        [@option{-d}|@option{--disassemble}]
        [@option{-D}|@option{--disassemble-all}]
        [@option{-z}|@option{--disassemble-zeroes}]
        [@option{-EB}|@option{-EL}|@option{--endian=}@{big | little @}]
        [@option{-f}|@option{--file-headers}]
        [@option{--file-start-context}]
        [@option{-g}|@option{--debugging}]
        [@option{-e}|@option{--debugging-tags}]
        [@option{-h}|@option{--section-headers}|@option{--headers}]
        [@option{-i}|@option{--info}]
        [@option{-j} @var{section}|@option{--section=}@var{section}]
        [@option{-l}|@option{--line-numbers}]
        [@option{-S}|@option{--source}]
        [@option{-m} @var{machine}|@option{--architecture=}@var{machine}]
        [@option{-M} @var{options}|@option{--disassembler-options=}@var{options}]
        [@option{-p}|@option{--private-headers}]
        [@option{-r}|@option{--reloc}]
        [@option{-R}|@option{--dynamic-reloc}]
        [@option{-s}|@option{--full-contents}]
        [@option{-G}|@option{--stabs}]
        [@option{-t}|@option{--syms}]
        [@option{-T}|@option{--dynamic-syms}]
        [@option{-x}|@option{--all-headers}]
        [@option{-w}|@option{--wide}]
        [@option{--start-address=}@var{address}]
        [@option{--stop-address=}@var{address}]
        [@option{--prefix-addresses}]
        [@option{--[no-]show-raw-insn}]
        [@option{--adjust-vma=}@var{offset}]
        [@option{--special-syms}]
        [@option{-V}|@option{--version}]
        [@option{-H}|@option{--help}]
        @var{objfile}@dots{}
@c man end
@end smallexample

@c man begin DESCRIPTION objdump

@c @command{objdump} displays information about one or more object files.
@c The options control what particular information to display.  This
@c information is mostly useful to programmers who are working on the
@c compilation tools, as opposed to programmers who just want their
@c program to compile and work.
@c 
@command{objdump}は，一つ以上のオブジェクトファイルに関する情報を表示し
ます．オプションで，表示する情報を制御します．この情報は，プログラムを
コンパイルして動作させたいだけのプログラマより，コンパイルツールに関す
る作業をしているプログラマに対し最も役に立ちます．

@c @var{objfile}@dots{} are the object files to be examined.  When you
@c specify archives, @command{objdump} shows information on each of the member
@c object files.
@c 
@var{objfile}@dots{}は，調査されるオブジェクトファイルです．アーカイブ
を指定したとき，@command{objdump}は，それぞれのメンバーオブジェクトファ
イルの情報を表示します．

@c man end

@c man begin OPTIONS objdump

@c The long and short forms of options, shown here as alternatives, are
@c equivalent.  At least one option from the list
@c @option{-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-r,-R,-s,-S,-t,-T,-V,-x} must be given.
@c 
ここに交互に表示しているオプションの長い形式と短い形式は等価です．リス
トの@option{-a,-d,-D,-e,-f,-g,-G,-h,-H,-p,-r,-R,-s,-S,-t,-T,-V,-x}から
少なくとも一つのオプションを与える必要があります．

@table @env
@item -a
@itemx --archive-header
@cindex archive headers
@c If any of the @var{objfile} files are archives, display the archive
@c header information (in a format similar to @samp{ls -l}).  Besides the
@c information you could list with @samp{ar tv}, @samp{objdump -a} shows
@c the object file format of each archive member.
@c 
@var{objfile}ファイルがすべてアーカイブの場合，アーカイブヘッダ情報を表
示します(書式は@samp{ls -l}に似ています)．@samp{ar tv}を用いてリストアッ
プ可能な情報に加え，@samp{objdump -a}は，それぞれのアーカイブのメンバー
のオブジェクトファイルのフォーマットを表示します．

@item --adjust-vma=@var{offset}
@cindex section addresses in objdump
@cindex VMA in objdump
@c When dumping information, first add @var{offset} to all the section
@c addresses.  This is useful if the section addresses do not correspond to
@c the symbol table, which can happen when putting sections at particular
@c addresses when using a format which can not represent section addresses,
@c such as a.out.
@c 
情報をダンプしているとき，最初に，すべてのセクションアドレスに
@var{offset}を加えます．これは，セクションアドレスがシンボルテーブルに
対応していない場合便利で，それは，@code{a.out}のようなセクションアドレ
スが存在しないフォーマットを使用しているとき，セクションを特定のアドレ
スに配置するとき発生します．

@item -b @var{bfdname}
@itemx --target=@var{bfdname}
@cindex object code format
@c Specify that the object-code format for the object files is
@c @var{bfdname}.  This option may not be necessary; @var{objdump} can
@c automatically recognize many formats.
@c 
オブジェクトファイルに対するオブジェクトコードのフォーマットを
@var{bfdname}に指定します．このオプションは不要かもしれません．
@var{objdump}は，自動的に多くのフォーマットを認識することが可能です．

@c For example,
@c 
例えば，以下のようにします．
@example
objdump -b oasys -m vax -h fu.o
@end example
@noindent
@c displays summary information from the section headers (@option{-h}) of
@c @file{fu.o}, which is explicitly identified (@option{-m}) as a VAX object
@c file in the format produced by Oasys compilers.  You can list the
@c formats available with the @option{-i} option.
@c @xref{Target Selection}, for more information.
@c 
それは，@file{fu.o}のセクションヘッダ(@option{-h})からの情報の概要を表
示し，それは特に，Oasysコンパイラで生成されるフォーマットのVAXオブジェ
クトファイルとして認識(@option{-m})されます．@option{-i}オプションを用
いて利用可能なフォーマットをリストアップすることが可能です．詳細は，
@xref{Target Selection}.

@item -C
@itemx --demangle[=@var{style}]
@cindex demangling in objdump
@c Decode (@dfn{demangle}) low-level symbol names into user-level names.
@c Besides removing any initial underscore prepended by the system, this
@c makes C++ function names readable.  Different compilers have different
@c mangling styles. The optional demangling style argument can be used to 
@c choose an appropriate demangling style for your compiler. @xref{c++filt}, 
@c for more information on demangling.
@c 
低レベルのシンボル名をユーザレベルの名前に復号(@dfn{demangle})します．
システムによって前置される，最初のすべてのアンダースコアを削除するだけ
でなく．これはC++関数名を可読にします．別々のコンパイラでは，mangle形式
が異なります．追加のdemangle形式の引数は，コンパイラに対する適切な
demangle形式を選択するために使用することが可能です．demangleの情報は，
@xref{c++filt}.

@item -g
@itemx --debugging
@c Display debugging information.  This attempts to parse debugging
@c information stored in the file and print it out using a C like syntax.
@c Only certain types of debugging information have been implemented.
@c Some other types are supported by @command{readelf -w}.
@c @xref{readelf}.
@c 
デバッグ情報を表示します．これは，ファイルに保存されているデバッグ情報
の解析を試み，Cのような構文を使用してそれを出力します．デバッグ情報の特
定の形式のみ実装されています．他の形式も，いくつかは@command{readelf
-w}でサポートされています．@xref{readelf}.

@item -e
@itemx --debugging-tags
@c Like @option{-g}, but the information is generated in a format compatible
@c with ctags tool.
@c 
@option{-g}に似ていますが，情報は，ctagツール互換の書式で生成されます．

@item -d
@itemx --disassemble
@cindex disassembling object code
@cindex machine instructions
@c Display the assembler mnemonics for the machine instructions from
@c @var{objfile}.  This option only disassembles those sections which are
@c expected to contain instructions.
@c 
@var{objfile}から，機械語命令に対するアセンブラニーモニックを表示します．
このオプションは，命令を含むことを期待されるそれらのセクションを，逆ア
センブルするだけです．

@item -D
@itemx --disassemble-all
@c Like @option{-d}, but disassemble the contents of all sections, not just
@c those expected to contain instructions.
@c 
@option{-d}に似ていますが，命令を含むことを期待されるものだけでなく，す
べてのセクションの内容を逆アセンブルします．

@item --prefix-addresses
@c When disassembling, print the complete address on each line.  This is
@c the older disassembly format.
@c 
逆アセンブルしているとき，それぞれの行に絶対アドレスを出力します．これ
はより古い逆アセンブルの書式です．

@item -EB
@itemx -EL
@itemx --endian=@{big|little@}
@cindex endianness
@cindex disassembly endianness
@c Specify the endianness of the object files.  This only affects
@c disassembly.  This can be useful when disassembling a file format which
@c does not describe endianness information, such as S-records.
@c 
オブジェクトファイルのエンディアンを指定します．これは逆アセンブラにの
み効果があります．これは，S-recordのような，エンディアン情報を記述して
いないファイルフォーマットを逆アセンブルしているとき役に立つはずです．

@item -f
@itemx --file-headers
@cindex object file header
@c Display summary information from the overall header of
@c each of the @var{objfile} files.
@c 
それぞれの@var{objfile}ファイルのヘッダ全体からの情報の概要を表示します．

@item --file-start-context
@cindex source code context
@c Specify that when displaying interlisted source code/disassembly
@c (assumes @option{-S}) from a file that has not yet been displayed, extend the
@c context to the start of the file.
@c 
まだ表示されていない，内部にリストアップされているソースコード/ファイル
から逆アセンブルされたもの(おそらく@option{-S})を表示しているとき，コン
テクストをファイルの先頭まで拡張することを指定します．

@item -h
@itemx --section-headers
@itemx --headers
@cindex section headers
@c Display summary information from the section headers of the
@c object file.
@c 
オブジェクトファイルのセクションヘッダの情報の概要を表示します．

@c File segments may be relocated to nonstandard addresses, for example by
@c using the @option{-Ttext}, @option{-Tdata}, or @option{-Tbss} options to
@c @command{ld}.  However, some object file formats, such as a.out, do not
@c store the starting address of the file segments.  In those situations,
@c although @command{ld} relocates the sections correctly, using @samp{objdump
@c -h} to list the file section headers cannot show the correct addresses.
@c Instead, it shows the usual addresses, which are implicit for the
@c target.
@c 
ファイルのセグメントは，非標準のアドレスに再配置され，例えば，
@option{-Ttext}，@option{-Tdata}，または@option{-Tbss}オプションが
@command{ld}で使用されています．しかし，@code{a.out}のようなオブジェク
トファイルのフォーマットによっては，ファイルセグメントの開始アドレスを
保存しないものもあります．そのような状況では，@command{ld}がセクション
を正しく再配置しますが，ファイルのセクションのヘッダのリストに
@samp{objdump -h}を使用しても，正しいアドレスを表示することは不可能です．
その代わりに，それは通常のアドレスを表示し，それらはターゲットに対して
暗黙のうちに行われます．

@item -H
@itemx --help
@c Print a summary of the options to @command{objdump} and exit.
@c 
@command{objdump}に対するオプションの概要を出力し，終了します．

@item -i
@itemx --info
@cindex architectures available
@cindex object formats available
@c Display a list showing all architectures and object formats available
@c for specification with @option{-b} or @option{-m}.
@c 
@option{-b}や@option{-m}を用いて指定可能な，すべてのアーキテクチャとオ
ブジェクトのフォーマットを示すリストを表示します．

@item -j @var{name}
@itemx --section=@var{name}
@cindex section information
@c Display information only for section @var{name}.
@c 
セクション@var{name}に対する情報のみ表示します．

@item -l
@itemx --line-numbers
@cindex source filenames for object files
@c Label the display (using debugging information) with the filename and
@c source line numbers corresponding to the object code or relocs shown.
@c Only useful with @option{-d}, @option{-D}, or @option{-r}.
@c 
(デバッグ情報を使用した)表示に，表示されているオブジェクトコードや再配
置に一致しているファイル名とソースの行番号を用いてラベル付けします．
@option{-d}，@option{-D}，または@option{-r}を用いた場合のみ有益です．

@item -m @var{machine}
@itemx --architecture=@var{machine}
@cindex architecture
@cindex disassembly architecture
@c Specify the architecture to use when disassembling object files.  This
@c can be useful when disassembling object files which do not describe
@c architecture information, such as S-records.  You can list the available
@c architectures with the @option{-i} option.
@c 
オブジェクトファイルの逆アセンブル時に，使用するアーキテクチャを指定し
ます．これは，S-recordのような，アーキテクチャ情報が記述されていないオ
ブジェクトファイルを逆アセンブルするとき役に立ちます．@option{-i}オプショ
ンを用いて，利用可能なアーキテクチャをリストアップすることが可能です．

@item -M @var{options}
@itemx --disassembler-options=@var{options}
@c Pass target specific information to the disassembler.  Only supported on
@c some targets.  If it is necessary to specify more than one
@c disassembler option then multiple @option{-M} options can be used or
@c can be placed together into a comma separated list.
@c 
ターゲット指定の情報を逆アセンブラに渡します．いくつかのターゲットだけ
をサポートします．一つ以上の逆アセンブラオプションが必要な場合，複数の
@option{-M}オプションを使用したり，カンマで分離したリストで一度に与える
ことが可能です．

@c If the target is an ARM architecture then this switch can be used to
@c select which register name set is used during disassembler.  Specifying
@c @option{-M reg-name-std} (the default) will select the register names as
@c used in ARM's instruction set documentation, but with register 13 called
@c 'sp', register 14 called 'lr' and register 15 called 'pc'.  Specifying
@c @option{-M reg-names-apcs} will select the name set used by the ARM
@c Procedure Call Standard, whilst specifying @option{-M reg-names-raw} will
@c just use @samp{r} followed by the register number.
@c 
ターゲットがARMアーキテクチャの場合，逆アセンブラが使用されている間に使
用するレジスタ名のセットを選択するために，このスイッチを使用することが
可能です．@option{-M reg-name-std} (デフォルト)を指定すると，ARMの命令
セットのドキュメントで使用しているレジスタ名を選択し，'sp'と呼ばれるレ
ジスタ13，'lr'と呼ばれるレジスタ14，そして'pc'と呼ばれるレジスタ15を使
用します．@option{-M reg-names-apcs}を指定すると，ARM Procedure Call
Standardで使用されている名前のセットを選択するのに対し，@option{-M
reg-names-raw}を指定すると，@samp{r}にレジスタ番号が続いたものを使用し
ます．

@c There are also two variants on the APCS register naming scheme enabled
@c by @option{-M reg-names-atpcs} and @option{-M reg-names-special-atpcs} which
@c use the ARM/Thumb Procedure Call Standard naming conventions.  (Either
@c with the normal register names or the special register names).
@c 
APCSレジスタ命名規則には二つの変形があり，@option{-M reg-names-atpcs}
と@option{-M reg-names-special-atpcs}により利用可能で，それはARM/Thumb
Procedure Call Standard命名規約を使用します．(通常のレジスタ名，または，
特殊なレジスタ名のどちらかを使用します．)

@c This option can also be used for ARM architectures to force the
@c disassembler to interpret all instructions as Thumb instructions by
@c using the switch @option{--disassembler-options=force-thumb}.  This can be
@c useful when attempting to disassemble thumb code produced by other
@c compilers.
@c 
このオプションは，ARMアーキテクチャに対し，スイッチ
@option{--disassembler-options=force-thumb}を使用して，すべての命令を
Thumb命令として解釈するように逆アセンブラに強制するためにも使用すること
が可能です．他のコンパイラで生成される thumb コードの逆アセンブラを試み
るとき，これは役に立つはずです．

@c For the x86, some of the options duplicate functions of the @option{-m}
@c switch, but allow finer grained control.  Multiple selections from the
@c following may be specified as a comma separated string.
@c @option{x86-64}, @option{i386} and @option{i8086} select disassembly for
@c the given architecture.  @option{intel} and @option{att} select between
@c intel syntax mode and AT&T syntax mode.  @option{addr32},
@c @option{addr16}, @option{data32} and @option{data16} specify the default
@c address size and operand size.  These four options will be overridden if
@c @option{x86-64}, @option{i386} or @option{i8086} appear later in the
@c option string.  Lastly, @option{suffix}, when in AT&T mode,
@c instructs the disassembler to print a mnemonic suffix even when the
@c suffix could be inferred by the operands.
@c 
x86に対して，オプションによっては@option{-m}のスイッチの機能を複製しま
すが，よりきめ細かい制御が可能になります．以下の複数のセクションをカン
マで分けられた文字列として指定してもかまいません．@option{x86-64}，
@option{i386}，そして@option{i8086}は該当するアーキテクチャに対する逆ア
センブルを選択します．@option{intel}と@option{att}は，インテルの構文の
モードとAT&Tの構文のモードを選択します．@option{addr32}，
@option{addr16}，@option{data32}，そして@option{data16}は，デフォルトの
アドレスの大きさとオペランドの大きさを指定します．これらの四つのオプショ
ンは，それ以降のオプション文字列に@option{x86-64}，@option{i386}，また
は@option{i8086}が現れる場合は，そちらが優先されます．最後は
@option{suffix}で，これはAT&Tモードのとき，サフィックスがオペランドで推
測可能なときでさえ，逆アセンブラはニーモニックサフィックスを出力します．

@c For PPC, @option{booke}, @option{booke32} and @option{booke64} select
@c disassembly of BookE instructions.  @option{32} and @option{64} select
@c PowerPC and PowerPC64 disassembly, respectively.
@c 
PPCに対し，@option{booke}，@option{booke32}，そして@option{booke64}は
BookE命令の逆アセンブラを選択します．@option{32}と@option{64}は，それぞ
れPowerPCとPowerPC64の逆アセンブラを選択します．

@c For MIPS, this option controls the printing of instruction mneumonic
@c names and register names in disassembled instructions.  Multiple
@c selections from the following may be specified as a comma separated
@c string, and invalid options are ignored:
@c 
MIPSに対して，このオプションは逆アセンブルした命令でのニーモニック名と
レジスタ名の出力を制御します．以下を複数選択するため，カンマで分離した
文字列で指定することが可能で，無効のオプションは無視されます．

@table @code
@item no-aliases
@c Print the 'raw' instruction mneumonic instead of some pseudo
@c instruction mneumonic.  I.E. print 'daddu' or 'or' instead of 'move',
@c 'sll' instead of 'nop', etc.
@c 
偽の命令ニーモニックではなく，'raw'の命令ニーモニックを出力します．つま
り，'move'の代わりに'daddu'や'or'を，'nop'の代わりに'sll'を出力する等の
ようになります．

@item gpr-names=@var{ABI}
@c Print GPR (general-purpose register) names as appropriate
@c for the specified ABI.  By default, GPR names are selected according to
@c the ABI of the binary being disassembled.
@c 
GPR(general-purpose register(汎用レジスタ))名を，指定されたABIに対して
適切に出力します．デフォルトで，GPR名は，逆アセンブルされたバイナリの
ABIに対応して選択されます．

@item fpr-names=@var{ABI}
@c Print FPR (floating-point register) names as
@c appropriate for the specified ABI.  By default, FPR numbers are printed
@c rather than names.
@c 
FPR(floating-point register(浮動小数点レジスタ))名を，指定されたABIに対
して適切に出力します．デフォルトで，FPR番号が，名前の代わりに出力されま
す．

@item cp0-names=@var{ARCH}
@c Print CP0 (system control coprocessor; coprocessor 0) register names
@c as appropriate for the CPU or architecture specified by
@c @var{ARCH}.  By default, CP0 register names are selected according to
@c the architecture and CPU of the binary being disassembled.
@c 
CP0(system control coprocessor; coprocessor 0(システム制御コプロセッサ;
コプロセッサ0))レジスタ名を，CPUまたは@var{ARCH}で指定されたアーキテク
チャに対して適切に出力します．デフォルトで，CP0レジスタ名は，逆アセンブ
ルされたバイナリのアーキテクチャとCPUに対応して選択されます．

@item hwr-names=@var{ARCH}
@c Print HWR (hardware register, used by the @code{rdhwr} instruction) names
@c as appropriate for the CPU or architecture specified by
@c @var{ARCH}.  By default, HWR names are selected according to
@c the architecture and CPU of the binary being disassembled.
@c 
HWR(@code{rdhwr}命令で使用される，hardware register(ハードウェアレジス
タ))名を，CPUまたは@var{ARCH}で指定されたアーキテクチャに対して適切に出
力します．デフォルトで，HWR名は，逆アセンブルされたバイナリのアーキテク
チャとCPUに対応して選択されます．

@item reg-names=@var{ABI}
@c Print GPR and FPR names as appropriate for the selected ABI.
@c 
GPRとFPR名を選択されたABIに対して適切に出力します．

@item reg-names=@var{ARCH}
@c Print CPU-specific register names (CP0 register and HWR names)
@c as appropriate for the selected CPU or architecture.
@c 
CPU特有のレジスタ名(CP0レジスタとHWRの名前)を，選択されたCPUやアーキテ
クチャに対して適切に出力します．
@end table

@c For any of the options listed above, @var{ABI} or
@c @var{ARCH} may be specified as @samp{numeric} to have numbers printed
@c rather than names, for the selected types of registers.
@c You can list the available values of @var{ABI} and @var{ARCH} using
@c the @option{--help} option.
@c 
上記でリストアップされているすべてのオプションに対し，@var{ABI}や
@var{ARCH}は，選択されているレジスタに対する名前ではなく，出力される番
号となる@samp{numeric}として指定します．@option{--help}を使用して，利用
可能な@var{ABI}と@var{ARCH}の値をリストアップすることが可能です．

@item -p
@itemx --private-headers
@c Print information that is specific to the object file format.  The exact
@c information printed depends upon the object file format.  For some
@c object file formats, no additional information is printed.
@c 
オブジェクトファイルのフォーマット特有の情報を出力します．出力される厳
密な情報はオブジェクトファイルのフォーマットに依存します．オブジェクト
ファイルのフォーマットによっては，追加情報は出力されません．

@item -r
@itemx --reloc
@cindex relocation entries, in object file
@c Print the relocation entries of the file.  If used with @option{-d} or
@c @option{-D}, the relocations are printed interspersed with the
@c disassembly.
@c 
ファイルの再配置エントリを出力します．@option{-d}や@option{-D}とともに
使用される場合，再配置は逆アセンブルの中にバラバラに出力されます．

@item -R
@itemx --dynamic-reloc
@cindex dynamic relocation entries, in object file
@c Print the dynamic relocation entries of the file.  This is only
@c meaningful for dynamic objects, such as certain types of shared
@c libraries.
@c 
ファイルの動的な再配置エントリを出力します．これは，ある形式の共有ライ
ブラリのような，動的オブジェクトのみで意味があります．

@item -s
@itemx --full-contents
@cindex sections, full contents
@cindex object file sections
@c Display the full contents of any sections requested.  By default all
@c non-empty sections are displayed.
@c 
要求されたあらゆるセクションの，すべての内容を表示します．デフォルトで，
すべての空ではないセクションが表示されます．

@item -S
@itemx --source
@cindex source disassembly
@cindex disassembly, with source
@c Display source code intermixed with disassembly, if possible.  Implies
@c @option{-d}.
@c 
可能な場合，逆アセンブラの中にソースコードを混ぜて表示します．
@option{-d}が暗黙のうちに指定されます．

@item --show-raw-insn
@c When disassembling instructions, print the instruction in hex as well as
@c in symbolic form.  This is the default except when
@c @option{--prefix-addresses} is used.
@c 
命令を逆アセンブルするとき，命令をシンボリック形式と同様に16進で出力し
ます．@option{--prefix-addresses}が使用されているとき以外，これはデフォ
ルトです．

@item --no-show-raw-insn
@c When disassembling instructions, do not print the instruction bytes.
@c This is the default when @option{--prefix-addresses} is used.
@c 
命令を逆アセンブルするとき，命令バイトを出力しません．これは
@option{--prefix-addresses}が使用されているときデフォルトです．

@item -G
@itemx --stabs
@cindex stab
@cindex .stab
@cindex debug symbols
@cindex ELF object file format
@c Display the full contents of any sections requested.  Display the
@c contents of the .stab and .stab.index and .stab.excl sections from an
@c ELF file.  This is only useful on systems (such as Solaris 2.0) in which
@c @code{.stab} debugging symbol-table entries are carried in an ELF
@c section.  In most other file formats, debugging symbol-table entries are
@c interleaved with linkage symbols, and are visible in the @option{--syms}
@c output.
@c 
要求されるすべてのセクションの内容を全部表示します．ELFファイルの.stab
と .stab.indexと .stab.exclセクションの内容を表示します．これは，
@code{.stab}デバッグシンボルテーブルのエントリーがELFのセクションに運び
込まれる(Solaris 2.0のような)システムでのみ役に立ちます．そのほかのほと
んどのフォーマットでは，デバッグシンボルテーブルのエントリーは，リンク
シンボルとともにバラバラに配置され，@option{--syms}の出力で見ることが可
能となります．

@ifclear man
@c For more information on stabs symbols, see @ref{Top,Stabs,Stabs
@c Overview,stabs.info, The ``stabs'' debug format}.
@c 
スタブシンボルの詳細は，@ref{Top,Stabs,Stabs Overview,stabs.info, The
``stabs'' debug format}を参照してください．
@end ifclear

@item --start-address=@var{address}
@cindex start-address
@c Start displaying data at the specified address.  This affects the output
@c of the @option{-d}, @option{-r} and @option{-s} options.
@c 
データの表示を，指定したアドレスで開始します．これは@option{-d}，
@option{-r}，そして@option{-s}オプションの出力に効果があります．

@item --stop-address=@var{address}
@cindex stop-address
@c Stop displaying data at the specified address.  This affects the output
@c of the @option{-d}, @option{-r} and @option{-s} options.
@c 
データの表示を，指定したアドレスで停止します．これは@option{-d}，
@option{-r}，そして@option{-s}オプションの出力に効果があります．

@item -t
@itemx --syms
@cindex symbol table entries, printing
@c Print the symbol table entries of the file.
@c This is similar to the information provided by the @samp{nm} program.
@c 
ファイルのシンボルテーブルのエントリーを出力します．これは，@samp{nm}
プログラムで提供される情報に似ています．

@item -T
@itemx --dynamic-syms
@cindex dynamic symbol table entries, printing
@c Print the dynamic symbol table entries of the file.  This is only
@c meaningful for dynamic objects, such as certain types of shared
@c libraries.  This is similar to the information provided by the @samp{nm}
@c program when given the @option{-D} (@option{--dynamic}) option.
@c 
ファイルの動的シンボルテーブルのエントリーを表示します．これは，特定の
形式の共有ライブラリのような，動的オブジェクトに対してのみ意味がありま
す．これは，@option{-D} (@option{--dynamic})オプションが与えられている
@samp{nm}プログラムで提供される情報に似ています．

@item --special-syms
@c When displaying symbols include those which the target considers to be
@c special in some way and which would not normally be of interest to the
@c user.
@c 
表示するとき，なんらかの方法で，ターゲットが特殊なものだと考えたり，通
常はユーザに興味が無いものを含めます．

@item -V
@itemx --version
@c Print the version number of @command{objdump} and exit.
@c 
@command{objdump}のバージョンナンバーを出力し終了します．

@item -x
@itemx --all-headers
@cindex all header information, object file
@cindex header information, all
@c Display all available header information, including the symbol table and
@c relocation entries.  Using @option{-x} is equivalent to specifying all of
@c @option{-a -f -h -p -r -t}.
@c 
利用可能なヘッダ情報をすべて表示し，それにはシンボルテーブルと，再配置
エントリが含まれます．@option{-x}を用いると，@option{-a -f -h -p -r
-t}をすべて指定したものと等価になります．

@item -w
@itemx --wide
@cindex wide output, printing
@c Format some lines for output devices that have more than 80 columns.
@c Also do not truncate symbol names when they are displayed.
@c 
80列以上の出力デバイスに対し，数行で書式化します．また，表示するときに
シンボル名を切り詰めません．

@item -z
@itemx --disassemble-zeroes
@c Normally the disassembly output will skip blocks of zeroes.  This
@c option directs the disassembler to disassemble those blocks, just like
@c any other data.
@c 
通常，逆アセンブルの出力はゼロのブロックを省略します．このオプションは，
これらのブロックを逆アセンブルするため，他のデータと同様，直接逆アセン
ブルします．
@end table

@c man end

@ignore
@c man begin SEEALSO objdump
nm(1), readelf(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node ranlib
@chapter ranlib

@kindex ranlib
@cindex archive contents
@cindex symbol index

@c man title ranlib generate index to archive.

@smallexample
@c man begin SYNOPSIS ranlib
ranlib [@option{-vV}] @var{archive}
@c man end
@end smallexample

@c man begin DESCRIPTION ranlib

@c @command{ranlib} generates an index to the contents of an archive and
@c stores it in the archive.  The index lists each symbol defined by a
@c member of an archive that is a relocatable object file.  
@c 
@command{ranlib}は，アーカイブの内容の索引を生成し，それをアーカイブに
保存します．索引は，再配置可能なオブジェクトファイルであるアーカイブの
メンバーによって定義される，それぞれのシンボルをリストアップします．

@c You may use @samp{nm -s} or @samp{nm --print-armap} to list this index.
@c 
この索引をリストアップするために，@samp{nm -s}や@samp{nm
--print-armap}を使用してもかまいません．

@c An archive with such an index speeds up linking to the library and
@c allows routines in the library to call each other without regard to
@c their placement in the archive.
@c 
そのような索引を持ったアーカイブは，ライブラリとのリンクで高速になり，
アーカイブ内での位置によらず，ライブラリ内でのお互いの呼び出し動作を可
能にします．

@c The @sc{gnu} @command{ranlib} program is another form of @sc{gnu} @command{ar}; running
@c @command{ranlib} is completely equivalent to executing @samp{ar -s}.
@c @xref{ar}.
@c 
@sc{gnu} @command{ranlib}プログラムは，@sc{gnu} @command{ar}のもう一つ
の形式です．@command{ranlib}を実行することは，@samp{ar -s}を実行するこ
とと完全に等価です．@xref{ar}.

@c man end

@c man begin OPTIONS ranlib

@table @env
@item -v
@itemx -V
@itemx --version
@c Show the version number of @command{ranlib}.
@c 
@command{ranlib}のバージョンナンバーを表示します．
@end table

@c man end

@ignore
@c man begin SEEALSO ranlib
ar(1), nm(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node size
@chapter size

@kindex size
@cindex section sizes

@c man title size list section sizes and total size.

@smallexample
@c man begin SYNOPSIS size
size [@option{-A}|@option{-B}|@option{--format=}@var{compatibility}]
     [@option{--help}]
     [@option{-d}|@option{-o}|@option{-x}|@option{--radix=}@var{number}]
     [@option{-t}|@option{--totals}]
     [@option{--target=}@var{bfdname}] [@option{-V}|@option{--version}]  
     [@var{objfile}@dots{}]
@c man end
@end smallexample

@c man begin DESCRIPTION size

@c The @sc{gnu} @command{size} utility lists the section sizes---and the total
@c size---for each of the object or archive files @var{objfile} in its
@c argument list.  By default, one line of output is generated for each
@c object file or each module in an archive.
@c 
@sc{gnu} @command{size}ユーティリティは，その引数リスト内の，それぞれの
オブジェクトやアーカイブファイル@var{objfile}に対し，セクションの大きさ
--- と全体の大きさ --- をリストアップします．デフォルトで，それぞれのオ
ブジェクトファイルやそれぞれのアーカイブのモジュールに対し，一行の出力
が生成されます．

@c @var{objfile}@dots{} are the object files to be examined.
@c If none are specified, the file @code{a.out} will be used.
@c 
@var{objfile}@dots{} は，調査するオブジェクトファイルです．何も指定され
ない場合，ファイル@code{a.out}が使用されます．

@c man end

@c man begin OPTIONS size

@c The command line options have the following meanings:
@c 
コマンドラインオプションには，以下の意味があります．

@table @env
@item -A
@itemx -B
@itemx --format=@var{compatibility}
@cindex @command{size} display format
@c Using one of these options, you can choose whether the output from @sc{gnu}
@c @command{size} resembles output from System V @command{size} (using @option{-A},
@c or @option{--format=sysv}), or Berkeley @command{size} (using @option{-B}, or
@c @option{--format=berkeley}).  The default is the one-line format similar to
@c Berkeley's.  
@c 
これらのオプションの一つを使用した場合，System V @command{size}
(@option{-A}，または@option{--format=sysv}の使用)の出力に似ている
@sc{gnu} @command{size}の出力，または，Berkeley @command{size}
(@option{-B}，または@option{--format=berkeley}の使用)のいずれかを選択す
ることが可能です．デフォルトは，Berkeleyのものに似ている一行の書式です．
@c Bonus for doc-source readers: you can also say --format=strange (or
@c anything else that starts with 's') for sysv, and --format=boring (or
@c anything else that starts with 'b') for Berkeley.

@c Here is an example of the Berkeley (default) format of output from
@c @command{size}: 
@c 
以下は，Berkeley(デフォルト)書式の@command{size}の出力例です．
@smallexample
$ size --format=Berkeley ranlib size
text    data    bss     dec     hex     filename
294880  81920   11592   388392  5ed28   ranlib
294880  81920   11888   388688  5ee50   size
@end smallexample

@noindent
@c This is the same data, but displayed closer to System V conventions:
@c 
これは同じデータですが，System Vの記法を選択して表示されています．

@smallexample
$ size --format=SysV ranlib size
ranlib  :
section         size         addr
.text         294880         8192       
.data          81920       303104       
.bss           11592       385024       
Total         388392    


size  :
section         size         addr
.text         294880         8192       
.data          81920       303104       
.bss           11888       385024       
Total         388688    
@end smallexample

@item --help
@c Show a summary of acceptable arguments and options.
@c 
受け入れ可能な引数とオプションの概要を表示します．

@item -d
@itemx -o
@itemx -x
@itemx --radix=@var{number}
@cindex @command{size} number format
@cindex radix for section sizes
@c Using one of these options, you can control whether the size of each
@c section is given in decimal (@option{-d}, or @option{--radix=10}); octal
@c (@option{-o}, or @option{--radix=8}); or hexadecimal (@option{-x}, or
@c @option{--radix=16}).  In @option{--radix=@var{number}}, only the three
@c values (8, 10, 16) are supported.  The total size is always given in two
@c radices; decimal and hexadecimal for @option{-d} or @option{-x} output, or
@c octal and hexadecimal if you're using @option{-o}.
@c 
これらのオプションの一つを使用した場合，それぞれのセクションの大きさを，
10進数(@option{-d}または@option{--radix=10})，8進数(@option{-o}または
@option{--radix=8})，または16進数(@option{-x}または
@option{--radix=16})で与えられるもののいづれかに制御可能です．
@option{--radix=@var{number}} では，三つの値(8, 10, 16)のみサポートされ
ます．全体の大きさは常に二つの基数で与えられます．それは，@option{-d}や
@option{-x}に対する，10進数と16 進数，または@option{-o}を使用した場合，
8進数と16進数になります．

@item -t
@itemx --totals
@c Show totals of all objects listed (Berkeley format listing mode only).
@c 
リストアップされたすべてのオブジェクトの総数を表示します(Berkeleyの書式
でのリストアップモードのみです)．

@item --target=@var{bfdname}
@cindex object code format
@c Specify that the object-code format for @var{objfile} is
@c @var{bfdname}.  This option may not be necessary; @command{size} can
@c automatically recognize many formats.
@c @xref{Target Selection}, for more information.
@c 
@var{objfile}に対するオブジェクトコードのフォーマットを@var{bfdname}と
して指定します．このオプションは不要かもしれません．@command{size}は自
動的に多くのフォーマットを認識することが可能です．詳細は，@xref{Target
Selection}.

@item -V
@itemx --version
@c Display the version number of @command{size}.
@c 
@command{size}のバージョンナンバーを表示します．
@end table

@c man end

@ignore
@c man begin SEEALSO size
ar(1), objdump(1), readelf(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node strings
@chapter strings
@kindex strings
@cindex listings strings
@cindex printing strings
@cindex strings, printing

@c man title strings print the strings of printable characters in files.

@smallexample
@c man begin SYNOPSIS strings
strings [@option{-afov}] [@option{-}@var{min-len}]
        [@option{-n} @var{min-len}] [@option{--bytes=}@var{min-len}]
        [@option{-t} @var{radix}] [@option{--radix=}@var{radix}]
        [@option{-e} @var{encoding}] [@option{--encoding=}@var{encoding}]
        [@option{-}] [@option{--all}] [@option{--print-file-name}]
        [@option{--target=}@var{bfdname}]
        [@option{--help}] [@option{--version}] @var{file}@dots{}
@c man end
@end smallexample

@c man begin DESCRIPTION strings

@c For each @var{file} given, @sc{gnu} @command{strings} prints the printable
@c character sequences that are at least 4 characters long (or the number
@c given with the options below) and are followed by an unprintable
@c character.  By default, it only prints the strings from the initialized
@c and loaded sections of object files; for other types of files, it prints
@c the strings from the whole file.
@c 
それぞれの与えられた@var{file}に対し，@sc{gnu} @command{strings}は，出
力可能な文字が最低四文字(または以下のオプションで与えられた数)並んでい
て，それに出力不可能な文字が続くものの，出力可能な文字を出力します．デ
フォルトで，オブジェクトファイルの，初期化されロードされるセクションか
ら，文字列のみ出力します．それ以外のファイルの形式では，ファイル全体か
ら文字列を出力します．

@c @command{strings} is mainly useful for determining the contents of non-text
@c files.
@c 
@command{strings}は，テキストではないファイルの内容を判断することに，主
に役立ちます．

@c man end

@c man begin OPTIONS strings

@table @env
@item -a
@itemx --all
@itemx -
@c Do not scan only the initialized and loaded sections of object files;
@c scan the whole files.
@c 
オブジェクトファイルの初期化されロードされるセクションのみをスキャンす
るのではありません．ファイル全体をスキャンします．

@item -f
@itemx --print-file-name
@c Print the name of the file before each string.
@c 
それぞれの文字列の前にファイル名を出力します．

@item --help
@c Print a summary of the program usage on the standard output and exit.
@c 
プログラムの使用方法の概要を標準出力に出力し終了します．

@item -@var{min-len}
@itemx -n @var{min-len}
@itemx --bytes=@var{min-len}
@c Print sequences of characters that are at least @var{min-len} characters
@c long, instead of the default 4.
@c 
デフォルトの四文字ではなく，少なくとも@var{min-len}文字の長さの文字の列
を出力します．

@item -o
@c Like @samp{-t o}.  Some other versions of @command{strings} have @option{-o}
@c act like @samp{-t d} instead.  Since we can not be compatible with both
@c ways, we simply chose one.
@c 
@option{-t o}に似ています．@command{strings}の他のバージョンには，代わ
りに@option{-t d}のように@option{-o}を動作させるものもあります．我々は，
両方の互換性を提供することができないので，単純にこちらを選択しただけで
す．

@item -t @var{radix}
@itemx --radix=@var{radix}
@c Print the offset within the file before each string.  The single
@c character argument specifies the radix of the offset---@samp{o} for
@c octal, @samp{x} for hexadecimal, or @samp{d} for decimal.
@c 
それぞれの文字列の前に，ファイル内部でのオフセットを出力します．単一文
字の引数を指定した場合，オフセットの基数を指定します --- 8進数に対する
@samp{o}，16進数に対する@samp{x}，または10進数に対する@samp{d}になりま
す．

@item -e @var{encoding}
@itemx --encoding=@var{encoding}
@c Select the character encoding of the strings that are to be found.
@c Possible values for @var{encoding} are: @samp{s} = single-7-bit-byte
@c characters (ASCII, ISO 8859, etc., default), @samp{S} =
@c single-8-bit-byte characters, @samp{b} = 16-bit bigendian, @samp{l} =
@c 16-bit littleendian, @samp{B} = 32-bit bigendian, @samp{L} = 32-bit
@c littleendian. Useful for finding wide character strings.
@c 
見つかった文字列の文字のエンコードを選択します．@var{encoding}に対して
利用可能な値は以下のとおりです．@samp{s} = シングル7ビットのバイト文字
(ASCII，ISO 8859等，デフォルトです)，@samp{S} = シングル8ビットのバイト
文字，@samp{b} = 16ビットビッグエンディアン，@samp{l} = 16ビットリトル
エンディアン，@samp{B} = 32ビットビッグエンディアン，@samp{L} = 32ビッ
トリトルエンディアン．ワイド文字の文字列を見つけるとき役に立ちます．

@item --target=@var{bfdname}
@cindex object code format
@c Specify an object code format other than your system's default format.
@c @xref{Target Selection}, for more information.
@c 
システムのデフォルトのフォーマット以外のオブジェクトコードのフォーマッ
トを指定します．詳細は，@xref{Target Selection}.

@item -v
@itemx --version
@c Print the program version number on the standard output and exit.
@c 
プログラムのバージョンナンバーを標準出力に出力し終了します．
@end table

@c man end

@ignore
@c man begin SEEALSO strings
ar(1), nm(1), objdump(1), ranlib(1), readelf(1)
and the Info entries for @file{binutils}.
@c man end
@end ignore

@node strip
@chapter strip

@kindex strip
@cindex removing symbols
@cindex discarding symbols
@cindex symbols, discarding

@c man title strip Discard symbols from object files.

@smallexample
@c man begin SYNOPSIS strip
strip [@option{-F} @var{bfdname} |@option{--target=}@var{bfdname}]
      [@option{-I} @var{bfdname} |@option{--input-target=}@var{bfdname}]
      [@option{-O} @var{bfdname} |@option{--output-target=}@var{bfdname}]
      [@option{-s}|@option{--strip-all}]
      [@option{-S}|@option{-g}|@option{-d}|@option{--strip-debug}]
      [@option{-K} @var{symbolname} |@option{--keep-symbol=}@var{symbolname}]
      [@option{-N} @var{symbolname} |@option{--strip-symbol=}@var{symbolname}]
      [@option{-w}|@option{--wildcard}]
      [@option{-x}|@option{--discard-all}] [@option{-X} |@option{--discard-locals}]
      [@option{-R} @var{sectionname} |@option{--remove-section=}@var{sectionname}]
      [@option{-o} @var{file}] [@option{-p}|@option{--preserve-dates}]
      [@option{--only-keep-debug}]
      [@option{-v} |@option{--verbose}] [@option{-V}|@option{--version}]
      [@option{--help}] [@option{--info}]
      @var{objfile}@dots{}
@c man end
@end smallexample

@c man begin DESCRIPTION strip

@c @sc{gnu} @command{strip} discards all symbols from object files
@c @var{objfile}.  The list of object files may include archives.
@c At least one object file must be given.
@c 
@sc{gnu} @command{strip}は，オブジェクトファイル@var{objfile}からシンボ
ルをすべて廃棄します．オブジェクトファイルのリストには，アーカイブを含
めてもかまいません．少なくとも一つのオブジェクトファイルを与える必要が
あります．

@c @command{strip} modifies the files named in its argument,
@c rather than writing modified copies under different names.
@c 
@command{strip}は，別の名前に編集されたものを書き出すのではなく，その引
数で指名されたファイルを変更します．

@c man end

@c man begin OPTIONS strip

@table @env
@item -F @var{bfdname}
@itemx --target=@var{bfdname}
@c Treat the original @var{objfile} as a file with the object
@c code format @var{bfdname}, and rewrite it in the same format.
@c @xref{Target Selection}, for more information.
@c 
オリジナルの@var{objfile}を，オブジェクトコードのフォーマット
@var{bfdname}を用いたファイルとして扱い，同じフォーマットで再書き込みし
ます．詳細は，@xref{Target Selection}.

@item --help
@c Show a summary of the options to @command{strip} and exit.
@c 
@command{strip}へのオプションの概要を表示し終了します．

@item --info
@c Display a list showing all architectures and object formats available.
@c 
すべてのアーキテクチャと利用可能なオブジェクトフォーマットを示すリスト
を表示します．

@item -I @var{bfdname}
@itemx --input-target=@var{bfdname}
@c Treat the original @var{objfile} as a file with the object
@c code format @var{bfdname}.
@c @xref{Target Selection}, for more information.
@c 
オリジナルの@var{objfile}を，オブジェクトコードのフォーマット
@var{bfdname}を用いたファイルとして扱います．詳細は，@xref{Target
Selection}.

@item -O @var{bfdname}
@itemx --output-target=@var{bfdname}
@c Replace @var{objfile} with a file in the output format @var{bfdname}.
@c @xref{Target Selection}, for more information.
@c 
@var{objfile}を，出力フォーマット@var{bfdname}のファイルで置換します．
詳細は，@xref{Target Selection}.

@item -R @var{sectionname}
@itemx --remove-section=@var{sectionname}
@c Remove any section named @var{sectionname} from the output file.  This
@c option may be given more than once.  Note that using this option
@c inappropriately may make the output file unusable.
@c 
@var{sectionname}で指名されたすべてのセクションを，出力ファイルから削除
します．このオプションは一回以上与えてもかまいません．このオプションを
使用すると，不適切にも出力ファイルを利用不可能にする可能性があることに
注意してください．

@item -s
@itemx --strip-all
@c Remove all symbols.
@c 
すべてのシンボルを削除します．

@item -g
@itemx -S
@itemx -d
@itemx --strip-debug
@c Remove debugging symbols only.
@c 
デバッグシンボルのみ削除します．

@item --strip-unneeded
@c Remove all symbols that are not needed for relocation processing.
@c 
再配置の処理に不要なすべてのシンボルを削除します．

@item -K @var{symbolname}
@itemx --keep-symbol=@var{symbolname}
@c Keep only symbol @var{symbolname} from the source file.  This option may
@c be given more than once.
@c 
シンボル@var{symbolname}のみ，ソースファイルに保存します．このオプショ
ンは一回以上与えてもかまいません．

@item -N @var{symbolname}
@itemx --strip-symbol=@var{symbolname}
@c Remove symbol @var{symbolname} from the source file. This option may be
@c given more than once, and may be combined with strip options other than
@c @option{-K}.
@c 
シンボル@var{symbolname}をソースファイルから削除します．このオプション
は一回以上与えたり，@option{-K}以外の@command{strip}オプションと組み合
わせたりしてもかまいません．

@item -o @var{file}
@c Put the stripped output in @var{file}, rather than replacing the
@c existing file.  When this argument is used, only one @var{objfile}
@c argument may be specified.
@c 
既存のファイルを置換するのではなく，@command{strip}された出力を
@var{file}に書き込みます．この引数が使用されたとき，一つの
@var{objfile}引数のみ指定することが可能です．

@item -p
@itemx --preserve-dates
@c Preserve the access and modification dates of the file.
@c 
ファイルのアクセスと編集の日付を保持します．

@item -w
@itemx --wildcard
@c Permit regular expressions in @var{symbolname}s used in other command
@c line options.  The question mark (?), asterisk (*), backslash (\) and
@c square brackets ([]) operators can be used anywhere in the symbol
@c name.  If the first character of the symbol name is the exclamation
@c point (!) then the sense of the switch is reversed for that symbol.
@c For example:
@c 
他のコマンドラインオプションで使用するため，@var{symbolname}での正規表
現を許可します．疑問符(?)，アスタリスク(*)，バックスラッシュ(\)，そして
角括弧([])オペレータを，シンボル名の任意の場所に使用することが可能です．
シンボル名の最初の文字が感嘆符(!)の場合，シンボルに対するスイッチの意味
を反対にします．例えば，以下を考えます．

@smallexample
  -w -W !foo -W fo*
@end smallexample

@c would cause strip to only keep symbols that start with the letters
@c ``fo'', but to discard the symbol ``foo''.
@c 
これで，@command{strip}は，シンボル``foo''以外の，``fo''で始まるすべて
のシンボルを保時します．

@item -x
@itemx --discard-all
@c Remove non-global symbols.
@c 
グローバルでないシンボルを削除します．

@item -X
@itemx --discard-locals
@c Remove compiler-generated local symbols.
@c (These usually start with @samp{L} or @samp{.}.)
@c 
コンパイラが生成したローカルシンボルを削除します．(これらは通常，
@samp{L}または@samp{.}で始まります．)

@item --only-keep-debug
@c Strip a file, removing any sections that would be stripped by
@c @option{--strip-debug} and leaving the debugging sections.
@c 
@option{--strip-debug}でstripされるセクションをすべて削除し，デバッグセ
クションは残しながらファイルをstripします．

@c The intention is that this option will be used in conjunction with
@c @option{--add-gnu-debuglink} to create a two part executable.  One a
@c stripped binary which will occupy less space in RAM and in a
@c distribution and the second a debugging information file which is only
@c needed if debugging abilities are required.  The suggested procedure
@c to create these files is as follows:
@c 
このオプションの目的は，二つの部分の実行形式を作成するために
@option{--add-gnu-debuglink}を組み合わせで使用します．一つは，RAMと配布
物にスペースが無い場合のstripされたバイナリで，二番目のデバッグ情報ファ
イルは，デバッグ能力が要求される場合だけ必要になります．これらのファイ
ルを作成するための推奨手順は以下の通りです．

@enumerate
@c @item Link the executable as normal.  Assuming that is is called
@c @code{foo} then...
@c @item Run @code{objcopy --only-keep-debug foo foo.dbg} to
@c create a file containing the debugging info.
@c @item Run @code{objcopy --strip-debug foo} to create a
@c stripped executable.
@c @item Run @code{objcopy --add-gnu-debuglink=foo.dbg foo}
@c to add a link to the debugging info into the stripped executable.
@c 
@item
通常の実行形式のリンク．@code{foo}と仮定します．
@item
デバッグ情報を含んでいるファイルを作成するために@code{objcopy
--only-keep-debug foo foo.dbg}の実行．
@item
stripされた実行形式を作成するために@code{objcopy --strip-debug foo}の実
行．
@item
stripされた実行形式にデバッグ情報を追加リンクするために@code{objcopy
--add-gnu-debuglink=foo.dbg foo}を実行．
@end enumerate

@c Note - the choice of @code{.dbg} as an extension for the debug info
@c file is arbitrary.  Also the @code{--only-keep-debug} step is
@c optional.  You could instead do this:
@c 
注意 - デバッグ情報ファイルに対する拡張として，@code{.dbg}の選択は任意
です．また，@code{--only-keep-debug}の段階はオプションです．代わりに以
下のようにすることも可能です．

@enumerate
@c @item Link the executable as normal.
@c @item Copy @code{foo} to  @code{foo.full}
@c @item Run @code{strip --strip-debug foo}
@c @item Run @code{objcopy --add-gnu-debuglink=foo.full foo}
@c 
@item
通常の実行形式のリンク．
@item
@code{foo}を@code{foo.full}へコピー．
@item
@code{strip --strip-debug foo}の実行．
@item
@code{objcopy --add-gnu-debuglink=foo.full foo}の実行．
@end enumerate

@c ie the file pointed to by the @option{--add-gnu-debuglink} can be the
@c full executable.  It does not have to be a file created by the
@c @option{--only-keep-debug} switch.
@c 
つまり，@option{--add-gnu-debuglink}で示されるファイルは，完全な実行形
式です．@option{--only-keep-debug}スイッチファイルを生成する必要はあり
ません．

@item -V
@itemx --version
@c Show the version number for @command{strip}.
@c 
@command{strip}のバージョンナンバーを表示します．

@item -v
@itemx --verbose
@c Verbose output: list all object files modified.  In the case of
@c archives, @samp{strip -v} lists all members of the archive.
@c 
冗長な出力です．編集されたすべてのオブジェクトファイルをリストアップし
ます．アーカイブの場合，@samp{strip -v}はアーカイブのすべてのメンバーを
リストアップします．
@end table

@c man end

@ignore
@c man begin SEEALSO strip
the Info entries for @file{binutils}.
@c man end
@end ignore

@node c++filt, addr2line, strip, Top
@chapter c++filt

@kindex c++filt
@cindex demangling C++ symbols

@c man title cxxfilt Demangle C++ and Java symbols.

@smallexample
@c man begin SYNOPSIS cxxfilt
c++filt [@option{-_}|@option{--strip-underscores}]
        [@option{-j}|@option{--java}]
        [@option{-n}|@option{--no-strip-underscores}]
        [@option{-p}|@option{--no-params}]
        [@option{-s} @var{format}|@option{--format=}@var{format}]
        [@option{--help}]  [@option{--version}]  [@var{symbol}@dots{}]
@c man end
@end smallexample

@c man begin DESCRIPTION cxxfilt

@kindex cxxfilt
@c The C++ and Java languages provides function overloading, which means
@c that you can write many functions with the same name (providing each
@c takes parameters of different types).  All C++ and Java function names
@c are encoded into a low-level assembly label (this process is known as
@c @dfn{mangling}). The @command{c++filt}
@c @footnote{MS-DOS does not allow @kbd{+} characters in file names, so on
@c MS-DOS this program is named @command{CXXFILT}.}
@c program does the inverse mapping: it decodes (@dfn{demangles}) low-level
@c names into user-level names so that the linker can keep these overloaded
@c functions from clashing.
@c 
C++とJava言語は，関数のオーバーロードを提供し，それは(それぞれ異なる型
のパラメータの受け入れを提供する)同じ名前で複数の関数を書くことが可能だ
ということを意味します．すべてのC++とJavaの関数名は，低レベルのアセンブ
リラベルに符号化されます(この処理は@dfn{mangling}として知られています．)
@command{c++filt}@footnote{MS-DOSは，ファイル名に@kbd{+}文字が使用でき
ないので，MS-DOS上でのこのプログラムは@command{CXXFILT}と命名されま
す．}プログラムは，マッピングを反転します．それは，これらのオーバーロー
ドされた関数を破壊することから，リンカが守ることができるように，低レベ
ルの名前をユーザレベルの名前に復号(@dfn{demangles})します．

@c Every alphanumeric word (consisting of letters, digits, underscores,
@c dollars, or periods) seen in the input is a potential label.  If the
@c label decodes into a C++ name, the C++ name replaces the low-level
@c name in the output.
@c 
入力にあるすべての英数単語(文字，数字，アンダースコア，ドル記号，または
ピリオド)は，ポテンシャルラベルと考えられます．ラベルをC++の名前に復号
する場合，C++の名前は出力で低レベルの名前に置換されます．

@c You can use @command{c++filt} to decipher individual symbols:
@c 
個別のシンボルを解読するために@command{c++filt}を使用することが可能です．

@example
c++filt @var{symbol}
@end example

@c If no @var{symbol} arguments are given, @command{c++filt} reads symbol
@c names from the standard input and writes the demangled names to the
@c standard output.  All results are printed on the standard output.
@c 
@var{symbol}引数が与えられている場合，@command{c++filt}は，シンボル名を
標準入力から読み込み，demangleされた名前を標準出力に書き出します．すべ
ての結果は，標準出力に出力されます．

@c man end

@c man begin OPTIONS cxxfilt

@table @env
@item -_
@itemx --strip-underscores
@c On some systems, both the C and C++ compilers put an underscore in front
@c of every name.  For example, the C name @code{foo} gets the low-level
@c name @code{_foo}.  This option removes the initial underscore.  Whether
@c @command{c++filt} removes the underscore by default is target dependent.
@c 
システムによっては，CとC++のコンパイラが，すべての名前の前にアンダース
コアを書き込むものもあります．例えば，Cでの名前@code{foo}が，低レベルで
は名前@code{_foo}になります．このオプションは，最初のアンダースコアを削
除します．@command{c++filt}がデフォルトでアンダースコアを削除するかどう
かはターゲットに依存します．

@item -j
@itemx --java
@c Prints demangled names using Java syntax.  The default is to use C++
@c syntax.
@c 
demangleされた名前を，Javaの構文を用いて出力します．デフォルトは，C++
の構文の使用です．

@item -n
@itemx --no-strip-underscores
@c Do not remove the initial underscore.
@c 
最初のアンダースコアを削除しません．

@item -p
@itemx --no-params
@c When demangling the name of a function, do not display the types of
@c the function's parameters.
@c 
関数名をdemanglするとき，関数のパラメータの形式を表示しません．

@item -s @var{format}
@itemx --format=@var{format}
@c @command{c++filt} can decode various methods of mangling, used by
@c different compilers.  The argument to this option selects which
@c method it uses:
@c 
@command{c++filt}は，いろいろなコンパイラで使用されている，様々な
mangleの手法を復号することが可能です．このオプションの引数は，使用する
メソッドを選択します．

@table @code
@item auto
@c Automatic selection based on executable (the default method)
@c 
実行形式を基にした自動選択(デフォルトの手法)．
@item gnu
@c the one used by the @sc{gnu} C++ compiler (g++)
@c 
@sc{gnu} C++コンパイラで使用されるもの(g++)．
@item lucid
@c the one used by the Lucid compiler (lcc)
@c 
Lucidコンパイラで使用されるもの(lcc)．
@item arm
@c the one specified by the C++ Annotated Reference Manual
@c 
C++ Annotated Reference Manualで指定されるもの．
@item hp
@c the one used by the HP compiler (aCC)
@c 
HPコンパイラで使用されるもの(aCC)．
@item edg
@c the one used by the EDG compiler
@c 
EDGコンパイラで使用されるもの．
@item gnu-v3
@c the one used by the @sc{gnu} C++ compiler (g++) with the V3 ABI.
@c 
V3 ABIを用いた@sc{gnu} C++コンパイラで使用されるもの．
@item java
@c the one used by the @sc{gnu} Java compiler (gcj)
@c 
@sc{gnu} Javaコンパイラで使用されるもの(gcj)．
@item gnat
@c the one used by the @sc{gnu} Ada compiler (GNAT).
@c 
@sc{gnu} Adaコンパイラで使用されるもの(GNAT)．
@end table

@item --help
@c Print a summary of the options to @command{c++filt} and exit.
@c 
@command{c++filt}のオプションの概要を出力し終了します．

@item --version
@c Print the version number of @command{c++filt} and exit.
@c 
@command{c++filt}のバージョンナンバーを出力し終了します．
@end table

@c man end

@ignore
@c man begin SEEALSO cxxfilt
the Info entries for @file{binutils}.
@c man end
@end ignore

@quotation
@c @emph{Warning:} @command{c++filt} is a new utility, and the details of its
@c user interface are subject to change in future releases.  In particular,
@c a command-line option may be required in the the future to decode a name
@c passed as an argument on the command line; in other words, 
@c 
@emph{警告:} @command{c++filt}は，新しいユーティリティで，そのユーザイ
ンターフェースの詳細は将来のリリースで変更されやすくなっています．特に，
コマンドラインの引数として渡される名前を復号するためのコマンドラインオ
プションが，将来要求されるかもしれません．言い換えると以下のようになる
ということです．

@example
c++filt @var{symbol}
@end example

@noindent
@c may in a future release become
@c 
これが，将来のリリースでは，以下のようになるかもしれません．

@example
c++filt @var{option} @var{symbol}
@end example
@end quotation

@node addr2line
@chapter addr2line

@kindex addr2line
@cindex address to file name and line number

@c man title addr2line convert addresses into file names and line numbers.

@smallexample
@c man begin SYNOPSIS addr2line
addr2line [@option{-b} @var{bfdname}|@option{--target=}@var{bfdname}]
          [@option{-C}|@option{--demangle}[=@var{style}]]
          [@option{-e} @var{filename}|@option{--exe=}@var{filename}]
          [@option{-f}|@option{--functions}] [@option{-s}|@option{--basename}]
          [@option{-H}|@option{--help}] [@option{-V}|@option{--version}]
          [addr addr @dots{}]
@c man end
@end smallexample

@c man begin DESCRIPTION addr2line

@c @command{addr2line} translates program addresses into file names and line
@c numbers.  Given an address and an executable, it uses the debugging
@c information in the executable to figure out which file name and line
@c number are associated with a given address.
@c 
@command{addr2line}は，プログラムアドレスをファイル名と行番号に変換しま
す．アドレスと実行形式が与えられた場合，ファイル名と行番号が与えられた
アドレスに関連していることを判別するため，それは実行形式内のデバッグ情
報を使用します．

@c The executable to use is specified with the @option{-e} option.  The
@c default is the file @file{a.out}.
@c 
使用する実行形式は，@option{-e}オプションで指定されます．デフォルトは，
ファイル@file{a.out}です．

@c @command{addr2line} has two modes of operation.
@c 
@command{addr2line}には，二つの処理モードがあります．

@c In the first, hexadecimal addresses are specified on the command line,
@c and @command{addr2line} displays the file name and line number for each
@c address.
@c 
最初のものは，16進のアドレスがコマンドラインで指定され，
@command{addr2line}は，それぞれのアドレスに対しファイル名と行番号を表示
します．

@c In the second, @command{addr2line} reads hexadecimal addresses from
@c standard input, and prints the file name and line number for each
@c address on standard output.  In this mode, @command{addr2line} may be used
@c in a pipe to convert dynamically chosen addresses.
@c 
二番目のものは，@command{addr2line}が16進のアドレスと標準入力から読み込
み，それぞれのアドレスに対し，ファイル名と行番号を標準出力に出力します．
このモードでは，@command{addr2line}は，動的に選択されたアドレスを変換す
るパイプとして使用することが可能です．

@c The format of the output is @samp{FILENAME:LINENO}.  The file name and
@c line number for each address is printed on a separate line.  If the
@c @command{-f} option is used, then each @samp{FILENAME:LINENO} line is
@c preceded by a @samp{FUNCTIONNAME} line which is the name of the function
@c containing the address.
@c 
出力の書式は，@samp{FILENAME:LINENO}です．それぞれのアドレスに対するファ
イル名と行番号は，個別の行に出力されます．@option{-f}オプションが使用さ
れた場合，それぞれの@samp{FILENAME:LINENO}行に，アドレスに含まれる関数
名@samp{FUNCTIONNAME}が前置されます．

@c If the file name or function name can not be determined,
@c @command{addr2line} will print two question marks in their place.  If the
@c line number can not be determined, @command{addr2line} will print 0.
@c 
ファイル名と関数名を決定することが不可能な場合，@command{addr2line}は二
つの疑問符をその場所に出力します．行番号を決定することが不可能な場合，
@command{addr2line}は，0を出力します．

@c man end

@c man begin OPTIONS addr2line

@c The long and short forms of options, shown here as alternatives, are
@c equivalent.
@c 
以下で交互に表示している，オプションの長い形式と短い形式は等価です．

@table @env
@item -b @var{bfdname}
@itemx --target=@var{bfdname}
@cindex object code format
@c Specify that the object-code format for the object files is
@c @var{bfdname}.
@c 
オブジェクトファイルに対するオブジェクトコードを@var{bfdname}として指定
します．

@item -C
@itemx --demangle[=@var{style}]
@cindex demangling in objdump
@c Decode (@dfn{demangle}) low-level symbol names into user-level names.
@c Besides removing any initial underscore prepended by the system, this
@c makes C++ function names readable.  Different compilers have different
@c mangling styles. The optional demangling style argument can be used to 
@c choose an appropriate demangling style for your compiler. @xref{c++filt}, 
@c for more information on demangling.
@c 
低レベルのシンボル名をユーザレベル名に復号(@dfn{demangle})します．シス
テムによって前置される，すべての最初のアンダースコアを削除する他に，こ
れはC++関数名を可読にします．別々のコンパイラでは，mangle形式が異なりま
す．追加のdemangle形式の引数は，コンパイラに対する適切なdemangle形式を
選択するために使用することが可能です．demangleの情報は，
@xref{c++filt}.

@item -e @var{filename}
@itemx --exe=@var{filename}
@c Specify the name of the executable for which addresses should be
@c translated.  The default file is @file{a.out}.
@c 
変換したいアドレスに対する実行形式の名前を指定します．デフォルトファイ
ルは@code{a.out}です．

@item -f
@itemx --functions
@c Display function names as well as file and line number information.
@c 
ファイルと行番号の情報と同様に，関数名も表示します．

@item -s
@itemx --basenames
@c Display only the base of each file name.
@c 
それぞれのファイル名のベースのみ表示します．
@end table

@c man end

@ignore
@c man begin SEEALSO addr2line
Info entries for @file{binutils}.
@c man end
@end ignore

@node nlmconv
@chapter nlmconv

@c @command{nlmconv} converts a relocatable object file into a NetWare
@c Loadable Module.
@c 
@command{nlmconv}は，再配置可能なオブジェクトファイルをNetWare
Loadable Moduleに変換します．

@ignore
@command{nlmconv} currently works with @samp{i386} object
files in @code{coff}, @sc{elf}, or @code{a.out} format, and @sc{SPARC}
object files in @sc{elf}, or @code{a.out} format@footnote{
@command{nlmconv} should work with any @samp{i386} or @sc{sparc} object
format in the Binary File Descriptor library.  It has only been tested
with the above formats.}.
@end ignore

@quotation
@c @emph{Warning:} @command{nlmconv} is not always built as part of the binary
@c utilities, since it is only useful for NLM targets.
@c 
@emph{警告:} @command{nlmconv}は，NLMターゲットに対してのみ役に立つので，
常にバイナリユーティリティの一部としてビルドされるわけではありません．
@end quotation

@c man title nlmconv converts object code into an NLM.

@smallexample
@c man begin SYNOPSIS nlmconv
nlmconv [@option{-I} @var{bfdname}|@option{--input-target=}@var{bfdname}]
        [@option{-O} @var{bfdname}|@option{--output-target=}@var{bfdname}]
        [@option{-T} @var{headerfile}|@option{--header-file=}@var{headerfile}]
        [@option{-d}|@option{--debug}] [@option{-l} @var{linker}|@option{--linker=}@var{linker}]
        [@option{-h}|@option{--help}] [@option{-V}|@option{--version}]
        @var{infile} @var{outfile}
@c man end
@end smallexample

@c man begin DESCRIPTION nlmconv

@c @command{nlmconv} converts the relocatable @samp{i386} object file
@c @var{infile} into the NetWare Loadable Module @var{outfile}, optionally
@c reading @var{headerfile} for NLM header information.  For instructions
@c on writing the NLM command file language used in header files, see the
@c @samp{linkers} section, @samp{NLMLINK} in particular, of the @cite{NLM
@c Development and Tools Overview}, which is part of the NLM Software
@c Developer's Kit (``NLM SDK''), available from Novell, Inc.
@c @command{nlmconv} uses the @sc{gnu} Binary File Descriptor library to read
@c @var{infile};
@c 
@command{nlmconv}は，再配置可能な@samp{i386}オブジェクトファイル
@var{infile}をNetWare Loadable Module @var{outfile}に変換し，さらに，
NLM ヘッダ情報に対する@var{headerfile}を読み込みます．ヘッダで使用され
ているNLMコマンドファイル言語を書くことに関する説明は， Novell, Inc.で
利用可能な，NLM Software Developer's Kit (``NLM SDK'')の一部である，
@cite{NLM Development and Tools Overview}の，@samp{linkers}セクションの
特定の@samp{NLMLINK}を参照してください．@command{nlmconv}は，
@var{infile}を読み込むために，@sc{gnu} Binary File Descriptorライブラリ
を使用します．

@ifclear man
@c see @ref{BFD,,BFD,ld.info,Using LD}, for more information.
@c 
詳細は，@ref{BFD,,BFD,ld.info,Using LD},を参照してください．
@end ifclear

@c @command{nlmconv} can perform a link step.  In other words, you can list
@c more than one object file for input if you list them in the definitions
@c file (rather than simply specifying one input file on the command line).
@c In this case, @command{nlmconv} calls the linker for you.
@c 
@command{nlmconv}はリンクステップを実行することが可能です．言い換えると，
(コマンドラインで一つの入力ファイルを単に指定するのではなく)定義ファイ
ルでリストアップした場合，入力に対して一つ以上のオブジェクトファイルを
リストアップすることが可能です．この場合，@command{nlmconv}はリンカを呼
び出します．

@c man end

@c man begin OPTIONS nlmconv

@table @env
@item -I @var{bfdname}
@itemx --input-target=@var{bfdname}
@c Object format of the input file.  @command{nlmconv} can usually determine
@c the format of a given file (so no default is necessary).
@c @xref{Target Selection}, for more information.
@c 
入力ファイルのオブジェクトフォーマットです．@command{nlmconv}は，通常与
えられたファイルのフォーマットを決定することが可能です(そのためデフォル
トは不要です)．詳細は，@xref{Target Selection}.

@item -O @var{bfdname}
@itemx --output-target=@var{bfdname}
@c Object format of the output file.  @command{nlmconv} infers the output
@c format based on the input format, e.g. for a @samp{i386} input file the
@c output format is @samp{nlm32-i386}.
@c @xref{Target Selection}, for more information.
@c 
出力ファイルのオブジェクトのフォーマットです．@command{nlmconv}は，出力
のフォーマットを入力のフォーマットを元に推測し，例えば，@samp{i386} 入
力ファイルに対する出力のフォーマットは，@samp{nlm32-i386}になります．詳
細は，@xref{Target Selection}.

@item -T @var{headerfile}
@itemx --header-file=@var{headerfile}
@c Reads @var{headerfile} for NLM header information.  For instructions on
@c writing the NLM command file language used in header files, see@ see the
@c @samp{linkers} section, of the @cite{NLM Development and Tools
@c Overview}, which is part of the NLM Software Developer's Kit, available
@c from Novell, Inc.
@c 
NLMヘッダ情報のために@var{headerfile}を読み込みます．ヘッダファイルで使
用されているNLMコマンドファイルの言語を書くときの命令については，
Novell, Inc. で利用可能なNLM Software Developer's Kitの一部となっている，
@cite{NLM Development and Tools Overview}の@samp{linkers}セクションを参
照してください．

@item -d
@itemx --debug
@c Displays (on standard error) the linker command line used by @command{nlmconv}.
@c 
@command{nlmconv}が使用しているリンカコマンドラインを(標準エラー出力に)
表示します．

@item -l @var{linker}
@itemx --linker=@var{linker}
@c Use @var{linker} for any linking.  @var{linker} can be an absolute or a
@c relative pathname.
@c 
すべてのリンクで@var{linker}を使用します．@var{linker}は，絶対パス名ま
たは相対パス名が可能です．

@item -h
@itemx --help
@c Prints a usage summary.
@c 
使用方法の概要を出力します．

@item -V
@itemx --version
@c Prints the version number for @command{nlmconv}.
@c 
@command{nlmconv}のバージョンナンバーを出力します．
@end table

@c man end

@ignore
@c man begin SEEALSO nlmconv
the Info entries for @file{binutils}.
@c man end
@end ignore

@node windres
@chapter windres

@c @command{windres} may be used to manipulate Windows resources.
@c 
@command{windres}は，Windowsのリソースを操作することに使用することが可
能です．

@quotation
@c @emph{Warning:} @command{windres} is not always built as part of the binary
@c utilities, since it is only useful for Windows targets.
@c 
@emph{警告:} @command{windres}は，Windowsターゲットに対してのみ役に立つ
ので，常にバイナリユーティリティの一部としてビルドされるわけではありま
せん．
@end quotation

@c man title windres manipulate Windows resources.

@smallexample
@c man begin SYNOPSIS windres
windres [options] [input-file] [output-file]
@c man end
@end smallexample

@c man begin DESCRIPTION windres

@c @command{windres} reads resources from an input file and copies them into
@c an output file.  Either file may be in one of three formats:
@c 
@command{windres}はリソースを入力ファイルから読み込み，それを出力ファイ
ルにコピーします．ファイルは以下の三つの形式のいずれか一つが可能です．

@table @code
@item rc
@c A text format read by the Resource Compiler.
@c 
リソースコンパイラで読み込むテキスト形式．

@item res
@c A binary format generated by the Resource Compiler.
@c 
リソースコンパイラが生成したバイナリ形式．

@item coff
@c A COFF object or executable.
@c 
COFFオブジェクト，または，実行形式．
@end table

@c The exact description of these different formats is available in
@c documentation from Microsoft.
@c 
これらの形式の差異の正確な記述は，Microsoftのドキュメントで利用可能です．

@c When @command{windres} converts from the @code{rc} format to the @code{res}
@c format, it is acting like the Windows Resource Compiler.  When
@c @command{windres} converts from the @code{res} format to the @code{coff}
@c format, it is acting like the Windows @code{CVTRES} program.
@c 
@command{windres}が@code{rc}形式から@code{res}形式に変換するとき，それ
はWindows Resource Compilerのように動作します．@command{windres}が
@code{res}形式から@code{coff}形式に変換するとき，それはWindows
@code{CVTRES}プログラムのように動作します．

@c When @command{windres} generates an @code{rc} file, the output is similar
@c but not identical to the format expected for the input.  When an input
@c @code{rc} file refers to an external filename, an output @code{rc} file
@c will instead include the file contents.
@c 
@command{windres}が@code{rc}ファイルを生成するとき，出力は似ていますが，
入力で期待される形式と同一ではありません．入力@code{rc}ファイルが外部の
ファイル名を参照するとき，出力@code{rc}ファイルは，その代わりにファイル
の内容を含めます．

@c If the input or output format is not specified, @command{windres} will
@c guess based on the file name, or, for the input file, the file contents.
@c A file with an extension of @file{.rc} will be treated as an @code{rc}
@c file, a file with an extension of @file{.res} will be treated as a
@c @code{res} file, and a file with an extension of @file{.o} or
@c @file{.exe} will be treated as a @code{coff} file.
@c 
入力や出力の形式が指定されていない場合，@command{windres}はファイル名，
または，入力ファイルのファイルの内容を基に推測します．@file{.rc}の拡張
子を持つファイルは，@code{rc}ファイルとして扱われ，@file{.res}の拡張子
を持つファイルは，@code{res}ファイルとして扱われ，そして，@file{.o}や
@file{.exe}の拡張子を持つファイルは，@code{coff}ファイルとして扱われま
す．

@c If no output file is specified, @command{windres} will print the resources
@c in @code{rc} format to standard output.
@c 
出力ファイルが指定されない場合，@command{windres}は，@code{rc}形式内の
リソースを標準出力に出力します．

@c The normal use is for you to write an @code{rc} file, use @command{windres}
@c to convert it to a COFF object file, and then link the COFF file into
@c your application.  This will make the resources described in the
@c @code{rc} file available to Windows.
@c 
@code{rc}を書き，COFFオブジェクトファイルに変換するために
@command{windres}を使用し，COFFファイルをアプリケーションにリンクするの
が通常の使用方法です．これは，@code{rc}ファイルのリソースの記述を，
Windowsで利用可能にします．

@c man end

@c man begin OPTIONS windres

@table @env
@item -i @var{filename}
@itemx --input @var{filename}
@c The name of the input file.  If this option is not used, then
@c @command{windres} will use the first non-option argument as the input file
@c name.  If there are no non-option arguments, then @command{windres} will
@c read from standard input.  @command{windres} can not read a COFF file from
@c standard input.
@c 
入力ファイル名です．このオプションが使用されていない場合，
@command{windres}は，最初の非オプションの引数を入力ファイル名として使用
します．非オプションの引数がない場合，@command{windres}は，標準入力から
読み込みます．@command{windres}は，COFFファイルを標準入力から読み込むこ
とは不可能です．

@item -o @var{filename}
@itemx --output @var{filename}
@c The name of the output file.  If this option is not used, then
@c @command{windres} will use the first non-option argument, after any used
@c for the input file name, as the output file name.  If there is no
@c non-option argument, then @command{windres} will write to standard output.
@c @command{windres} can not write a COFF file to standard output.  Note,
@c for compatability with @command{rc} the option @option{-fo} is also
@c accepted, but its use is not recommended.
@c 
出力ファイル名です．このオプションが使用されない場合，
@command{windres} は，入力ファイル名として使用した後の，最初の非オプショ
ンの引数を出力ファイル名として使用します．非オプションの引数がない場合，
@command{windres} は，標準出力に書き出します．@command{windres}は，
COFFファイルを標準出力に書き出すことは不可能です．@command{rc}との互換
性のため，オプション@option{-fo}も受け入れますが，その使用方法は推奨さ
れていないことに注意して下さい．

@item -J @var{format}
@itemx --input-format @var{format}
@c The input format to read.  @var{format} may be @samp{res}, @samp{rc}, or
@c @samp{coff}.  If no input format is specified, @command{windres} will
@c guess, as described above.
@c 
読み込む入力の形式です．@var{format}は，@samp{res}，@samp{rc}，または
@samp{coff}が可能です．入力形式が指定されない場合，@command{windres}は，
上記のように推測します．

@item -O @var{format}
@itemx --output-format @var{format}
@c The output format to generate.  @var{format} may be @samp{res},
@c @samp{rc}, or @samp{coff}.  If no output format is specified,
@c @command{windres} will guess, as described above.
@c 
生成する出力の形式です．@var{format}は，@samp{res}，@samp{rc}，または
@samp{coff}が可能です．出力形式が指定されない場合，@command{windres}は，
上記のように推測します．

@item -F @var{target}
@itemx --target @var{target}
@c Specify the BFD format to use for a COFF file as input or output.  This
@c is a BFD target name; you can use the @option{--help} option to see a list
@c of supported targets.  Normally @command{windres} will use the default
@c format, which is the first one listed by the @option{--help} option.
@c 
入出力としてのCOFFに対して使用するBFDフォーマットを指定します．これは，
BFDターゲット名です．サポートされているターゲットのリストを見るために，
@option{--help}オプションが使用することが可能です．通常，
@command{windres}はデフォルトのフォーマットを使用し，それは
@option{--help}オプションでリストアップされる最初のものです．

@ifclear man
@ref{Target Selection}.
@end ifclear

@item --preprocessor @var{program}
@c When @command{windres} reads an @code{rc} file, it runs it through the C
@c preprocessor first.  This option may be used to specify the preprocessor
@c to use, including any leading arguments.  The default preprocessor
@c argument is @code{gcc -E -xc-header -DRC_INVOKED}.
@c 
@command{windres}が@code{rc}ファイルを読み込むとき，それは最初にCプリプ
ロセッサを通じて実行されます．このオプションは，使用するプリプロセッサ
を指定するために利用してもかまわず，それには引数を前置するものを含みま
す．デフォルトのプリプロセッサ引数は，@code{gcc -E -xc-header
-DRC_INVOKED} です．

@item -I @var{directory}
@itemx --include-dir @var{directory}
@c Specify an include directory to use when reading an @code{rc} file.
@c @command{windres} will pass this to the preprocessor as an @option{-I}
@c option.  @command{windres} will also search this directory when looking for
@c files named in the @code{rc} file.  If the argument passed to this command
@c matches any of the supported @var{formats} (as descrived in the @option{-J} 
@c option), it will issue a deprecation warning, and behave just like the
@c @option{-J} option.  New programs should not use this behaviour.  If a
@c directory happens to match a @var{format}, simple prefix it with @samp{./}
@c to disable the backward compatibility.
@c 
@code{rc}ファイルを読み込むとき使用する，インクルードディレクトリを指定
します．@command{windres}は，これを@option{-I}オプションとしてプリプロ
セッサに渡します．@command{windres}は，@code{rc}ファイルで指名されてい
るファイルを探すとき，このディレクトリの検索も行います．このコマンドに
渡された引数が，(@option{-J}オプションで記述されている) サポートされる
@var{formats}にマッチする場合，推奨しない旨の警告を発し，@option{-J} オ
プションのように動作します．新しいプログラムでは，この動作を使用すべき
ではありません．ディレクトリが@var{format}にマッチする場合，単純な接頭
辞@samp{./}を用いて下位互換性が無くなるようにして下さい．

@item -D @var{target}
@itemx --define @var{sym}[=@var{val}]
@c Specify a @option{-D} option to pass to the preprocessor when reading an
@c @code{rc} file.
@c 
@code{rc}ファイルを読み込むとき，プリプロセッサに渡す@option{-D}オプショ
ンを指定します．

@item -U @var{target}
@itemx --undefine @var{sym}
@c Specify a @option{-U} option to pass to the preprocessor when reading an
@c @code{rc} file.
@c 
@code{rc}ファイルを読み込むとき，プリプロセッサに渡す@option{-U}オプショ
ンを指定します．

@item -r
@c Ignored for compatibility with rc.
@c 
@code{rc}との互換性のためで，無視されます．

@item -v
@c Enable verbose mode.  This tells you what the preprocessor is if you
@c didn't specify one.
@c 
冗長モードを可能にします．これは，プリプロセッサが指定されていない場合，
そのプリプロセッサを報告します．

@item -l @var{val}
@item --language @var{val}
@c Specify the default language to use when reading an @code{rc} file.
@c @var{val} should be a hexadecimal language code.  The low eight bits are
@c the language, and the high eight bits are the sublanguage.
@c 
@code{rc}ファイルを読み込むとき使用する，デフォルトの言語を指定します．
@var{val}は16進数の言語コードにする必要があります．下位8ビットは言語で，
上位8ビットはサブ言語です．

@item --use-temp-file
@c Use a temporary file to instead of using popen to read the output of
@c the preprocessor. Use this option if the popen implementation is buggy 
@c on the host (eg., certain non-English language versions of Windows 95 and 
@c Windows 98 are known to have buggy popen where the output will instead
@c go the console).
@c 
プリプロセッサの出力を読み込むためpopenを使用する代わりに，一時ファイル
を使用します．popenの実装にバグの多いホストの場合，このオプションを使用
してください(例えば，ある非英語バージョンのWindows95とWindows98は，出力
がコンソールでないところでは，バグの多いpopenとなっていることが知られて
います)．

@item --no-use-temp-file
@c Use popen, not a temporary file, to read the output of the preprocessor.
@c This is the default behaviour.
@c 
プリプロセッサの出力を読み込むため，一時ファイルではなくpopenを使用しま
す．これはデフォルトの動作です．

@item -h
@item --help
@c Prints a usage summary.
@c 
使用方法の概要を出力します．

@item -V
@item --version
@c Prints the version number for @command{windres}.
@c 
@command{windres}のバージョンナンバーを出力します．

@item --yydebug
@c If @command{windres} is compiled with @code{YYDEBUG} defined as @code{1},
@c this will turn on parser debugging.
@c 
@command{windres}が@code{YYDEBUG}を@code{1}と定義してコンパイルされる場
合，パーサデバッグを開始します．
@end table

@c man end

@ignore
@c man begin SEEALSO windres
the Info entries for @file{binutils}.
@c man end
@end ignore

@node dlltool
@chapter dlltool
@cindex DLL
@kindex dlltool

@c @command{dlltool} is used to create the files needed to create dynamic
@c link libraries (DLLs) on systems which understand PE format image
@c files such as Windows.  A DLL contains an export table which contains
@c information that the runtime loader needs to resolve references from a
@c referencing program.
@c 
WindowsのようなPEフォーマットイメージファイルを理解するシステムで，ダイ
ナミックリンクライブラリ(DLL)を作成するために必要なファイルを作成するた
めに，@command{dlltool}は使用されます．DLLには，参照元のプログラムが参
照先を実行時に解決するためにローダが必要とする情報を含んでいる，エクス
ポートテーブルが含まれます．

@c The export table is generated by this program by reading in a
@c @file{.def} file or scanning the @file{.a} and @file{.o} files which
@c will be in the DLL.  A @file{.o} file can contain information in
@c special @samp{.drectve} sections with export information.
@c 
エクスポートテーブルは，@file{.def}ファイルやを読み込んだり，DLL内の
@file{.a}と@file{.o}ファイルをスキャンすることで，このプログラムが生成
します．@file{.o}ファイルには，エクスポート情報がある特殊な
@samp{.drectve}セクションを含めることが可能です．

@quotation
@c @emph{Note:} @command{dlltool} is not always built as part of the
@c binary utilities, since it is only useful for those targets which
@c support DLLs.
@c 
@emph{Note:} @command{dlltool}は，DLLをサポートするターゲットに対しての
み役に立つので，常にバイナリユーティリティの一部としてビルドされるわけ
ではありません．
@end quotation

@c man title dlltool Create files needed to build and use DLLs.

@smallexample
@c man begin SYNOPSIS dlltool
dlltool [@option{-d}|@option{--input-def} @var{def-file-name}]
        [@option{-b}|@option{--base-file} @var{base-file-name}]
        [@option{-e}|@option{--output-exp} @var{exports-file-name}]
        [@option{-z}|@option{--output-def} @var{def-file-name}]
        [@option{-l}|@option{--output-lib} @var{library-file-name}]        
        [@option{--export-all-symbols}] [@option{--no-export-all-symbols}]
        [@option{--exclude-symbols} @var{list}]
        [@option{--no-default-excludes}]
        [@option{-S}|@option{--as} @var{path-to-assembler}] [@option{-f}|@option{--as-flags} @var{options}]
        [@option{-D}|@option{--dllname} @var{name}] [@option{-m}|@option{--machine} @var{machine}]
        [@option{-a}|@option{--add-indirect}] [@option{-U}|@option{--add-underscore}] [@option{-k}|@option{--kill-at}]
        [@option{-A}|@option{--add-stdcall-alias}]
        [@option{-p}|@option{--ext-prefix-alias} @var{prefix}]
        [@option{-x}|@option{--no-idata4}] [@option{-c}|@option{--no-idata5}] [@option{-i}|@option{--interwork}]
        [@option{-n}|@option{--nodelete}] [@option{-t}|@option{--temp-prefix} @var{prefix}]
        [@option{-v}|@option{--verbose}] 
        [@option{-h}|@option{--help}] [@option{-V}|@option{--version}]
        [object-file @dots{}]
@c man end
@end smallexample

@c man begin DESCRIPTION dlltool

@c @command{dlltool} reads its inputs, which can come from the @option{-d} and
@c @option{-b} options as well as object files specified on the command
@c line.  It then processes these inputs and if the @option{-e} option has
@c been specified it creates a exports file.  If the @option{-l} option
@c has been specified it creates a library file and if the @option{-z} option
@c has been specified it creates a def file.  Any or all of the @option{-e}, 
@c @option{-l} and @option{-z} options can be present in one invocation of 
@c dlltool.
@c 
@command{dlltool}は，その入力を読み込み，それは，コマンドラインで指定さ
れたオブジェクトファイルと，@option{-d}と@option{-b}オプションから成り
立ちます．そして，これらの入力を処理し，@option{-e}オプションが指定され
ている場合はエクスポートファイルを作成します．@option{-l}オプションが指
定されている場合は，ライブラリファイルを作成し，@option{-z}オプションが
指定されている場合は，defファイルを作成します．@option{-e}，
@option{-l}，そして@option{-z}オプションのいずれか，またはすべてを，
@command{dlltool} の呼び出しに配置することが可能です．

@c When creating a DLL, along with the source for the DLL, it is necessary
@c to have three other files.  @command{dlltool} can help with the creation of
@c these files.
@c 
DLLを作成しているとき，DLLのソースファイルとともに，それは三つの他のファ
イルが必要です．@command{dlltool}は，これらのファイルの作成を手助けする
ことが可能です．

@c The first file is a @file{.def} file which specifies which functions are
@c exported from the DLL, which functions the DLL imports, and so on.  This
@c is a text file and can be created by hand, or @command{dlltool} can be used
@c to create it using the @option{-z} option.  In this case @command{dlltool}
@c will scan the object files specified on its command line looking for
@c those functions which have been specially marked as being exported and
@c put entries for them in the @file{.def} file it creates.
@c 
最初のファイルは，DLLからエクスポートされる関数や，DLLがインポートする
関数等を指定する，@file{.def}ファイルです．これはテキストファイルで，手
動で作成したり，作成するために@command{dlltool}を@option{-z}オプション
を用いて使用したりすることが可能です．この場合，@command{dlltool}は，エ
クスポートされるように特別に印の付けられたこれらの関数を探しながら，コ
マンドラインで指定されたオブジェクトファイルを走査し，作成する
@file{.def}ファイルにそれらのエントリーを書き出します．

@c In order to mark a function as being exported from a DLL, it needs to
@c have an @option{-export:<name_of_function>} entry in the @samp{.drectve}
@c section of the object file.  This can be done in C by using the
@c asm() operator:
@c 
DLLからエクスポートされるように関数に印を付けるため，オブジェクトファイ
ルの@samp{.drectve}セクションに，@option{-export:<name_of_function>} エ
ントリーが必要です．これは，Cでasm()演算子を使用することで可能となりま
す．

@smallexample
  asm (".section .drectve");  
  asm (".ascii \"-export:my_func\"");

  int my_func (void) @{ @dots{} @}
@end smallexample

@c The second file needed for DLL creation is an exports file.  This file
@c is linked with the object files that make up the body of the DLL and it
@c handles the interface between the DLL and the outside world.  This is a
@c binary file and it can be created by giving the @option{-e} option to
@c @command{dlltool} when it is creating or reading in a @file{.def} file. 
@c 
DLLの作成に必要とされる二番目のファイルは，エクスポートファイルです．こ
のファイルは，DLL本体を作成し，DLLと外部世界の間のインターフェースを取
り扱うオブジェクトファイルとリンクされます．これはバイナリファイルで，
@command{dlltool}が@file{.def}ファイルの作成または読み込みをしていると
きに，それに@option{-e}オプションを与えると作成されます．

@c The third file needed for DLL creation is the library file that programs
@c will link with in order to access the functions in the DLL.  This file
@c can be created by giving the @option{-l} option to dlltool when it
@c is creating or reading in a @file{.def} file.
@c 
DLLの作成に必要とされる三番目のファイルは，DLL内の関数にアクセスするた
めにプログラムとリンクするライブラリファイルです．このファイルは，
@command{dlltool}が@file{.def}ファイルの作成または読み込みをしていると
きに，それに@option{-l}オプションを与えると作成されます．

@c @command{dlltool} builds the library file by hand, but it builds the
@c exports file by creating temporary files containing assembler statements
@c and then assembling these.  The @option{-S} command line option can be
@c used to specify the path to the assembler that dlltool will use,
@c and the @option{-f} option can be used to pass specific flags to that
@c assembler.  The @option{-n} can be used to prevent dlltool from deleting
@c these temporary assembler files when it is done, and if @option{-n} is
@c specified twice then this will prevent dlltool from deleting the
@c temporary object files it used to build the library.
@c 
@command{dlltool}は，手動でライブラリファイルを構築しますが，それは，ア
センブラ宣言を含む一時ファイルを作成し，それをアセンブルすることで，エ
クスポートファイルを構築します．@option{-S}コマンドラインオプションは，
@command{dlltool}が使用するアセンブラへのパスを指定するため使用すること
が可能で，@option{-f}オプションは，そのアセンブラに特別なフラグを渡すた
めに使用することが可能です．@option{-n}は，@command{dlltool}がこれらの
一時的なアセンブラファイルを終了後に削除することを防ぐために使用するこ
とが可能で，@option{-n}が二回指定されている場合は，@command{dlltool}が
ライブラリを構築するために使用した，一時的なオブジェクトファイルが削除
されることを防ぎます．

@c Here is an example of creating a DLL from a source file @samp{dll.c} and
@c also creating a program (from an object file called @samp{program.o})
@c that uses that DLL:
@c 
ソースファイル@samp{dll.c}からDLLを作成し，そのDLLを使用しているプログ
ラムも(@samp{program.o}という名前のオブジェクトファイルから)作成してい
る例は以下のようになります．

@smallexample
  gcc -c dll.c
  dlltool -e exports.o -l dll.lib dll.o
  gcc dll.o exports.o -o dll.dll
  gcc program.o dll.lib -o program
@end smallexample

@c man end

@c man begin OPTIONS dlltool

@c The command line options have the following meanings:
@c 
コマンドラインオプションには以下の意味があります．

@table @env

@item -d @var{filename}
@itemx --input-def @var{filename}
@cindex input .def file
@c Specifies the name of a @file{.def} file to be read in and processed.
@c 
読み込み，処理する@file{.def}ファイルの名前を指定します．

@item -b @var{filename}
@itemx --base-file @var{filename}
@cindex base files
@c Specifies the name of a base file to be read in and processed.  The
@c contents of this file will be added to the relocation section in the
@c exports file generated by dlltool.
@c 
読み込み，処理するベースファイルの名前を指定します．このファイルの内容
に，@command{dlltool}で生成されるエクスポートファイルの，再配置のセクショ
ンが追加されます．

@item -e @var{filename}
@itemx --output-exp @var{filename}
@c Specifies the name of the export file to be created by dlltool.
@c 
@command{dlltool}で作成される，エクスポートファイルの名前を指定します．

@item -z @var{filename}
@itemx --output-def @var{filename}
@c Specifies the name of the @file{.def} file to be created by dlltool.
@c 
@command{dlltool}で作成される，@file{.def}ファイルの名前を指定します．

@item -l @var{filename}
@itemx --output-lib @var{filename}
@c Specifies the name of the library file to be created by dlltool.
@c 
@command{dlltool}で作成される，ライブラリファイルの名前を指定します．

@item --export-all-symbols
@c Treat all global and weak defined symbols found in the input object
@c files as symbols to be exported.  There is a small list of symbols which
@c are not exported by default; see the @option{--no-default-excludes}
@c option.  You may add to the list of symbols to not export by using the
@c @option{--exclude-symbols} option.
@c 
入力ファイル内のエクスポートされるシンボルとして見つかったものは，すべ
て大域的にweakとして定義されているシンボルとして扱います．これらは，デ
フォルトでエクスポートされないシンボルの小さなリストです．
@option{--no-default-excludes}オプションを参照してください．
@option{--exclude-symbols}オプションを使用して，エクスポートされないシ
ンボルのリストを追加してもかまいません．

@item --no-export-all-symbols
@c Only export symbols explicitly listed in an input @file{.def} file or in
@c @samp{.drectve} sections in the input object files.  This is the default
@c behaviour.  The @samp{.drectve} sections are created by @samp{dllexport}
@c attributes in the source code.
@c 
入力の@file{.def}ファイルや入力オブジェクトファイルの@samp{.drectve}セ
クションで，明示的にリストアップされているシンボルのみエクスポートしま
す．@samp{.drectve}は，ソースコード内の@samp{dllexport}属性で作成されま
す．

@item --exclude-symbols @var{list}
@c Do not export the symbols in @var{list}.  This is a list of symbol names
@c separated by comma or colon characters.  The symbol names should not
@c contain a leading underscore.  This is only meaningful when
@c @option{--export-all-symbols} is used.
@c 
@var{list}内のシンボルをエクスポートしません．これは，カンマまたはコロ
ン文字で分けられた，シンボル名のリストです．シンボル名に，アンダースコ
アの前置を含めることはできません．これは，
@option{--export-all-symbols}が使用されているときのみ意味があります．

@item --no-default-excludes
@c When @option{--export-all-symbols} is used, it will by default avoid
@c exporting certain special symbols.  The current list of symbols to avoid
@c exporting is @samp{DllMain@@12}, @samp{DllEntryPoint@@0},
@c @samp{impure_ptr}.  You may use the @option{--no-default-excludes} option
@c to go ahead and export these special symbols.  This is only meaningful
@c when @option{--export-all-symbols} is used.
@c 
@option{--export-all-symbols}が使用されているとき，それはデフォルトで，
ある特別なシンボルをエクスポートすることを避けます．現在のエクスポート
を避けるリストは，@samp{DllMain@@12}, @samp{DllEntryPoint@@0},
@samp{impure_ptr}です．これらの特別なシンボルを進んでエクスポートするた
めに，@option{--no-default-excludes}オプションを使用してもかまいません．
これは，@option{--export-all-symbols}が使用されているときのみ意味があり
ます．

@item -S @var{path}
@itemx --as @var{path}
@c Specifies the path, including the filename, of the assembler to be used
@c to create the exports file.
@c 
エクスポートファイルを作成するために使用するアセンブラの，ファイル名を
含む，パスを指定します．

@item -f @var{options}
@itemx --as-flags @var{options}
@c Specifies any specific command line options to be passed to the
@c assembler when building the exports file.  This option will work even if
@c the @option{-S} option is not used.  This option only takes one argument,
@c and if it occurs more than once on the command line, then later
@c occurrences will override earlier occurrences.  So if it is necessary to
@c pass multiple options to the assembler they should be enclosed in
@c double quotes.
@c 
エクスポートファイルを構築しているときアセンブラに渡す，あらゆる特別な
コマンドラインオプションを指定します．このオプションは，@option{-S}が指
定されていないかのように動作します．このオプションは一つの引数のみ渡し，
コマンドラインに一回以上出現する場合，最後に出現したものを，前に出現し
たものに優先させます．そのため，複数のオプションをアセンブラに渡す必要
がある場合は，二重引用符で囲む必要があります．

@item -D @var{name}
@itemx --dll-name @var{name}
@c Specifies the name to be stored in the @file{.def} file as the name of
@c the DLL when the @option{-e} option is used.  If this option is not
@c present, then the filename given to the @option{-e} option will be
@c used as the name of the DLL.
@c 
@option{-e}オプションが使用されてるとき，DLLの名前として@file{.def}ファ
イルに保存する名前を指定します．このオプションがない場合，@option{-e}
オプションで与えられるファイル名は，DLLの名前として使用されます．

@item -m @var{machine}
@itemx -machine @var{machine}
@c Specifies the type of machine for which the library file should be
@c built.  @command{dlltool} has a built in default type, depending upon how
@c it was created, but this option can be used to override that.  This is
@c normally only useful when creating DLLs for an ARM processor, when the
@c contents of the DLL are actually encode using Thumb instructions.
@c 
ライブラリファイルが構築されるマシンの形式を指定します．
@command{dlltool}には，構築のされ方に依存するデフォルト形式がありますが，
このオプションで，それに優先させることが可能です．これは通常，ARM プロ
セッサに対するDLLを作成するときのみ役に立ち，DLLの内容は，実際にThumb命
令を使用して符号化されます．

@item -a
@itemx --add-indirect
@c Specifies that when @command{dlltool} is creating the exports file it
@c should add a section which allows the exported functions to be
@c referenced without using the import library.  Whatever the hell that
@c means! 
@c 
@command{dlltool}がエクスポートファイルを作成しているとき，エクスポート
関数がインポートライブラリを使用しないで参照できるように，セクションを
加えることを指定します．たとえ，それが地獄を意味しようとも！

@item -U
@itemx --add-underscore
@c Specifies that when @command{dlltool} is creating the exports file it
@c should prepend an underscore to the names of the exported functions. 
@c 
@command{dlltool}エクスポートファイルを作成しているとき，エクスポート関
数の名前にアンダースコアを前置することを指定します．

@item -k
@itemx --kill-at
@c Specifies that when @command{dlltool} is creating the exports file it
@c should not append the string @samp{@@ <number>}.  These numbers are
@c called ordinal numbers and they represent another way of accessing the
@c function in a DLL, other than by name.
@c 
@command{dlltool}エクスポートファイルを作成しているとき，文字列
@samp{@@ <number>}を追加しないことを指定します．これらの数字は，序数と
呼ばれ，DLL では関数にアクセスする一つの方法を表示し，それ以外では名前
で表示します．

@item -A
@itemx --add-stdcall-alias
@c Specifies that when @command{dlltool} is creating the exports file it
@c should add aliases for stdcall symbols without @samp{@@ <number>}
@c in addition to the symbols with @samp{@@ <number>}.
@c 
@command{dlltool}がエクスポートファイルを作成しているとき，シンボルに
@samp{@@ <number>}を追加したものを，@samp{@@ <number>}なしでstdcallシン
ボルの別名を加えることを指定します．

@item -p
@itemx --ext-prefix-alias @var{prefix}
@c Causes @command{dlltool} to create external aliases for all DLL
@c imports with the specified prefix.  The aliases are created for both
@c external and import symbols with no leading underscore.
@c 
@command{dlltool}で，すべてのDLLインポートに対して指定した接頭辞で外部
へのエイリアスを作成します．エイリアスは外部とインポートの両方のシンボ
ルを前置するアンダースコア無しで作成します．

@item -x
@itemx --no-idata4
@c Specifies that when @command{dlltool} is creating the exports and library
@c files it should omit the @code{.idata4} section.  This is for compatibility
@c with certain operating systems.
@c 
@command{dlltool}エクスポートファイルとライブラリファイルを作成している
とき，@code{.idata4}セクションを削除することを指定します．これは，ある
オペレーティングシステムとの互換性のためです．

@item -c
@itemx --no-idata5
@c Specifies that when @command{dlltool} is creating the exports and library
@c files it should omit the @code{.idata5} section.  This is for compatibility
@c with certain operating systems.
@c 
@command{dlltool}エクスポートファイルとライブラリファイルを作成している
とき，@code{.idata5}セクションを削除することを指定します．これは，ある
オペレーティングシステムとの互換性のためです．

@item -i
@itemx --interwork
@c Specifies that @command{dlltool} should mark the objects in the library
@c file and exports file that it produces as supporting interworking
@c between ARM and Thumb code.
@c 
@command{dlltool}が，生成しているライブラリファイルとエクスポートファイ
ル内のオブジェクトに，ARMとThumb間での相互動作をサポートするように印を
付けることを指定します．

@item -n
@itemx --nodelete
@c Makes @command{dlltool} preserve the temporary assembler files it used to
@c create the exports file.  If this option is repeated then dlltool will
@c also preserve the temporary object files it uses to create the library
@c file.
@c 
@command{dlltool}が，エクスポートファイルを作成するために使用した一時的
なアセンブラファイルを保存するようにします．このオプションが繰り返され
る場合，@command{dlltool}は，ライブラリを作成するために使用する一時的な
オブジェクトファイルも保存します．

@item -t @var{prefix}
@itemx --temp-prefix @var{prefix}
@c Makes @command{dlltool} use @var{prefix} when constructing the names of
@c temporary assembler and object files.  By default, the temp file prefix
@c is generated from the pid.  
@c 
@command{dlltool}が，一時的なアセンブラとオブジェクトファイルの名前を構
成するとき，@var{prefix}を使用するようにします．デフォルトで，一時的な
ファイルの接頭辞はpidから生成されます．

@item -v
@itemx --verbose
@c Make dlltool describe what it is doing.
@c 
@command{dlltool}が，行っていることを記述します．

@item -h
@itemx --help
@c Displays a list of command line options and then exits.
@c 
コマンドラインオプションのリストを表示し終了します．

@item -V
@itemx --version
@c Displays dlltool's version number and then exits.
@c 
@command{dlltool}のバージョンナンバーを表示し終了します．

@end table

@c man end

@menu
* def file format::             The format of the dlltool @file{.def} file
@end menu

@node def file format
@c @section The format of the @command{dlltool} @file{.def} file
@section @command{dlltool} @file{.def}ファイルのフォーマット

@c A @file{.def} file contains any number of the following commands:
@c 
@file{.def}ファイルには，任意の数の以下のコマンドが含まれています．

@table @asis

@item @code{NAME} @var{name} @code{[ ,} @var{base} @code{]}
@c The result is going to be named @var{name}@code{.exe}.
@c 
結果として，@var{name}@code{.exe}という名前になります．

@item @code{LIBRARY} @var{name} @code{[ ,} @var{base} @code{]}
@c The result is going to be named @var{name}@code{.dll}.
@c 
結果として，@var{name}@code{.dll}という名前になります．

@item @code{EXPORTS ( ( (} @var{name1} @code{[ = } @var{name2} @code{] ) | ( } @var{name1} @code{=} @var{module-name} @code{.} @var{external-name} @code{) )}
@item @code{[} @var{integer} @code{] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *}
@c Declares @var{name1} as an exported symbol from the DLL, with optional
@c ordinal number @var{integer}, or declares @var{name1} as an alias
@c (forward) of the function @var{external-name} in the DLL
@c @var{module-name}.
@c 
@var{name1}をDLLのエクスポートシンボルとして序数@var{integer}を追加して
宣言し，また，DLL @var{module-name}の関数@var{external-name}の(前出の)
別名として@var{name1}を宣言します．

@item @code{IMPORTS ( (} @var{internal-name} @code{=} @var{module-name} @code{.} @var{integer} @code{) | [} @var{internal-name} @code{= ]} @var{module-name} @code{.} @var{external-name} @code{) ) *}
@c Declares that @var{external-name} or the exported function whose
@c ordinal number is @var{integer} is to be imported from the file
@c @var{module-name}.  If @var{internal-name} is specified then this is
@c the name that the imported function will be referred to in the body of
@c the DLL.
@c 
序数が@var{integer}の@var{external-name}やエクスポートした関数が，ファ
イル@var{module-name}からインポートされるものとして宣言します．
@var{internal-name}が指定されている場合，これは，DLLの本体にある，イン
ポートされる関数が参照する名前になります．

@item @code{DESCRIPTION} @var{string}
@c Puts @var{string} into the output @file{.exp} file in the
@c @code{.rdata} section.
@c 
@var{string}を出力される@file{.exp}ファイルの@code{.rdata}セクションに
書き込みます．

@item @code{STACKSIZE} @var{number-reserve} @code{[, } @var{number-commit} @code{]}
@item @code{HEAPSIZE} @var{number-reserve} @code{[, } @var{number-commit} @code{]}
@c Generates @code{--stack} or @code{--heap}
@c @var{number-reserve},@var{number-commit} in the output @code{.drectve}
@c section.  The linker will see this and act upon it.
@c 
@code{--stack}や@code{--heap}の@var{number-reserve}と
@var{number-commit}を，出力の@code{.drectve}セクションに生成します．リ
ンカはこれを見て，それに作用します．

@item @code{CODE} @var{attr} @code{+}
@item @code{DATA} @var{attr} @code{+}
@item @code{SECTIONS (} @var{section-name} @var{attr}@code{ + ) *}
@c Generates @code{--attr} @var{section-name} @var{attr} in the output
@c @code{.drectve} section, where @var{attr} is one of @code{READ},
@c @code{WRITE}, @code{EXECUTE} or @code{SHARED}.  The linker will see
@c this and act upon it.
@c 
@code{--attr} @var{section-name} @var{attr}を出力の@code{.drectve}セク
ションに生成し，そこでの@var{attr}は@code{READ}，@code{WRITE}，
@code{EXECUTE}，または@code{SHARED}のいずれかになります．リンカはこれを
見て，それに作用します．

@end table

@ignore
@c man begin SEEALSO dlltool
The Info pages for @file{binutils}.
@c man end
@end ignore

@node readelf
@chapter readelf

@cindex ELF file information
@kindex readelf

@c man title readelf Displays information about ELF files.

@smallexample
@c man begin SYNOPSIS readelf
readelf [@option{-a}|@option{--all}] 
        [@option{-h}|@option{--file-header}]
        [@option{-l}|@option{--program-headers}|@option{--segments}]
        [@option{-S}|@option{--section-headers}|@option{--sections}]
        [@option{-g}|@option{--section-groups}]
        [@option{-e}|@option{--headers}]
        [@option{-s}|@option{--syms}|@option{--symbols}]
        [@option{-n}|@option{--notes}]
        [@option{-r}|@option{--relocs}]
        [@option{-u}|@option{--unwind}]
        [@option{-d}|@option{--dynamic}]
        [@option{-V}|@option{--version-info}]
        [@option{-A}|@option{--arch-specific}]
        [@option{-D}|@option{--use-dynamic}]
        [@option{-x} <number>|@option{--hex-dump=}<number>]
        [@option{-w[liaprmfFsoR]}|
         @option{--debug-dump}[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]]
        [@option{-I}|@option{-histogram}]
        [@option{-v}|@option{--version}]
        [@option{-W}|@option{--wide}]
        [@option{-H}|@option{--help}]
        @var{elffile}@dots{}
@c man end
@end smallexample

@c man begin DESCRIPTION readelf

@c @command{readelf} displays information about one or more ELF format object
@c files.  The options control what particular information to display.
@c 
@command{readelf}は，一つ以上のELFフォーマットのオブジェクトファイルの
情報を表示します．オプションで表示する特定の情報を制御します．

@c @var{elffile}@dots{} are the object files to be examined.  32-bit and
@c 64-bit ELF files are supported, as are archives containing ELF files.
@c 
@var{elffile}@dots{}は調査するオブジェクトファイルです．32ビットと64ビッ
トELFファイルがサポートされていて，ELFファイルを含むアーカイブもサポー
トされています．

@c This program performs a similar function to @command{objdump} but it
@c goes into more detail and it exists independently of the @sc{bfd}
@c library, so if there is a bug in @sc{bfd} then readelf will not be
@c affected.
@c 
このプログラムは，@command{objdump}の機能に似ていますが，より詳細に処理
し，@sc{bfd}とは独立して存在しているので，@sc{bfd}にバグがあった場合で
も@command{readelf}には影響がありません．

@c man end

@c man begin OPTIONS readelf

@c The long and short forms of options, shown here as alternatives, are
@c equivalent.  At least one option besides @samp{-v} or @samp{-H} must be
@c given. 
@c 
ここで交互に表示されている，オプションの長い形式と短い形式は等価です．
@option{-v}または@option{-H}の他に，少なくとも一つのオプションを与える
必要があります．

@table @env
@item -a
@itemx --all
@c Equivalent to specifiying @option{--file-header},
@c @option{--program-headers}, @option{--sections}, @option{--symbols},
@c @option{--relocs}, @option{--dynamic}, @option{--notes} and
@c @option{--version-info}. 
@c 
@option{--file-header}，@option{--program-headers}，
@option{--sections}，@option{--symbols}，@option{--relocs}，
@option{--dynamic}，@option{--notes}，そして@option{--version-info}を指
定することと等価です．

@item -h
@itemx --file-header
@cindex ELF file header information
@c Displays the information contained in the ELF header at the start of the
@c file.
@c 
ファイルの最初のELFヘッダ内に含まれる情報を表示します．

@item -l
@itemx --program-headers
@itemx --segments
@cindex ELF program header information
@cindex ELF segment information
@c Displays the information contained in the file's segment headers, if it
@c has any.
@c 
ファイルのセグメントヘッダ内に含まれる情報を，存在する場合は表示します．

@item -S
@itemx --sections
@itemx --section-headers
@cindex ELF section information
@c Displays the information contained in the file's section headers, if it
@c has any.
@c 
ファイルのセクションヘッダ内に含まれる情報を，存在する場合は表示します．

@item -g
@itemx --section-groups
@cindex ELF section group information
@c Displays the information contained in the file's section groups, if it
@c has any.
@c 
ファイルのセクショングループに含まれている情報を，存在する場合は表示し
ます．

@item -s
@itemx --symbols
@itemx --syms
@cindex ELF symbol table information
@c Displays the entries in symbol table section of the file, if it has one.
@c 
ファイルのシンボルテーブルセクション内のエントリーを，存在する場合は表
示します．

@item -e
@itemx --headers
@c Display all the headers in the file.  Equivalent to @option{-h -l -S}.
@c 
ファイルのすべてのヘッダを表示します．@option{-h -l -S}と等価です．

@item -n
@itemx --notes
@cindex ELF notes
@c Displays the contents of the NOTE segments and/or sections, if any.
@c 
NOTEセグメントとセクションの内容を，存在する場合は表示します．

@item -r
@itemx --relocs
@cindex ELF reloc information
@c Displays the contents of the file's relocation section, if it has one.
@c 
ファイルの再配置のセクションの内容を，存在する場合は表示します．

@item -u
@itemx --unwind
@cindex unwind information
@c Displays the contents of the file's unwind section, if it has one.  Only
@c the unwind sections for IA64 ELF files are currently supported.
@c 
ファイルのunwindセクションの内容が存在する場合は表示します．IA64 ELFファ
イルのunwindセクションのみ，現在はサポートされています．

@item -d
@itemx --dynamic
@cindex ELF dynamic section information
@c Displays the contents of the file's dynamic section, if it has one.
@c 
ファイルの動的セクションの内容を，存在する場合は表示します．

@item -V
@itemx --version-info
@cindex ELF version sections informations
@c Displays the contents of the version sections in the file, it they
@c exist.
@c 
ファイルのバージョンセクションの内容を，存在する場合は表示します．

@item -A
@itemx --arch-specific
@c Displays architecture-specific information in the file, if there
@c is any.
@c 
ファイル内のアーキテクチャ固有の情報を，存在する場合は表示します．

@item -D
@itemx --use-dynamic
@c When displaying symbols, this option makes @command{readelf} use the
@c symbol table in the file's dynamic section, rather than the one in the
@c symbols section.
@c 
シンボルを表示しているとき，@command{readelf}はこのオプションで，ファイ
ルのシンボルセクションではなく，動的セクションのシンボルテーブルを使用
します．

@item -x <number>
@itemx --hex-dump=<number>
@c Displays the contents of the indicated section as a hexadecimal dump.
@c 
16進のダンプとして示されているセクションの内容を表示します．

@item -w[liaprmfFsoR]
@itemx --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]
@c Displays the contents of the debug sections in the file, if any are
@c present.  If one of the optional letters or words follows the switch
@c then only data found in those specific sections will be dumped.
@c 
ファイルのデバッグセクションの内容を，存在する場合は表示します．オプショ
ン文字や単語の一つがスイッチに続く場合，これらで指定されたセクションで
見つかるデータのみダンプされます．

@item -I
@itemx --histogram
@c Display a histogram of bucket list lengths when displaying the contents
@c of the symbol tables.
@c 
シンボルテーブルの内容を表示するとき，バケットリスト長のヒストグラムを
表示します．

@item -v
@itemx --version
@c Display the version number of readelf.
@c 
@command{readelf}のバージョンナンバーを表示します．

@item -W
@itemx --wide
@c Don't break output lines to fit into 80 columns. By default
@c @command{readelf} breaks section header and segment listing lines for
@c 64-bit ELF files, so that they fit into 80 columns. This option causes
@c @command{readelf} to print each section header resp. each segment one a
@c single line, which is far more readable on terminals wider than 80 columns.
@c 
出力行を80列に揃えて改行しません．@command{readelf}はデフォルトで，64
ビットのELFファイルに対し，セクションヘッダとセグメントを80列に揃うよう
に改行します．このオプションで，@command{readelf}はそれぞれのセクション
ヘッダを各々のセグメントを単一の行出力し，80列以上の幅の端末でより読み
やすくなります．

@item -H
@itemx --help
@c Display the command line options understood by @command{readelf}.
@c 
@command{readelf}が理解するコマンドラインオプションを表示します．

@end table

@c man end

@ignore
@c man begin SEEALSO readelf
objdump(1), and the Info entries for @file{binutils}.
@c man end
@end ignore

@node Selecting The Target System
@c @chapter Selecting the Target System
@chapter ターゲットシステムの選択

@c You can specify two aspects of the target system to the @sc{gnu}
@c binary file utilities, each in several ways:
@c 
ターゲットシステムの二つの側面を，@sc{gnu}バイナリファイルユーティリティ
に，それぞれ異なる方法で指定することが可能です．

@itemize @bullet
@item
@c the target
@c 
ターゲット

@item
@c the architecture
@c 
アーキテクチャ
@end itemize

@c In the following summaries, the lists of ways to specify values are in
@c order of decreasing precedence.  The ways listed first override those
@c listed later.
@c 
以下の概要では，変数を指定する方法のリストは，優先順位が下がる順序となっ
ています．方法は，最初のものがそれ以降のものに優先するようにリストアッ
プされています．

@c The commands to list valid values only list the values for which the
@c programs you are running were configured.  If they were configured with
@c @option{--enable-targets=all}, the commands list most of the available
@c values, but a few are left out; not all targets can be configured in at
@c once because some of them can only be configured @dfn{native} (on hosts
@c with the same type as the target system).
@c 
有効な値をリストアップするコマンドは，実行しているプログラムに設定され
ている値のみリストアップします．それらが@option{--enable-targets=all}
で設定されている場合，ほとんどの利用可能なコマンドはリストアップされま
すが，いくつかはそうなりません．ターゲットには@dfn{native}(ターゲットシ
ステムと同じ形式のホスト)に設定することしかできないものもあるので，すべ
てのものが一度に設定可能なわけではありません．

@menu
* Target Selection::            
* Architecture Selection::      
@end menu

@node Target Selection
@c @section Target Selection
@section ターゲットの選択

@c A @dfn{target} is an object file format.  A given target may be
@c supported for multiple architectures (@pxref{Architecture Selection}).
@c A target selection may also have variations for different operating
@c systems or architectures.
@c 
@dfn{ターゲット(target)}とはオブジェクトファイルのフォーマットです．与
えられたターゲットは，複数のアーキテクチャでサポートされるかもしれませ
ん(@pxref{Architecture Selection})．ターゲットの選択は，オペレーティン
グシステムやアーキテクチャによっても，変化があるかもしれません．

@c The command to list valid target values is @samp{objdump -i}
@c (the first column of output contains the relevant information).
@c 
有効なターゲットの値をリストアップするコマンドは，@samp{objdump -i}です
(出力の最初の列は，関連した情報を含みます)．

@c Some sample values are: @samp{a.out-hp300bsd}, @samp{ecoff-littlemips},
@c @samp{a.out-sunos-big}.
@c 
サンプルの値として，例えば次ものがあります．@samp{a.out-hp300bsd}，
@samp{ecoff-littlemips}，@samp{a.out-sunos-big}．

@c You can also specify a target using a configuration triplet.  This is
@c the same sort of name that is passed to @file{configure} to specify a
@c target.  When you use a configuration triplet as an argument, it must be
@c fully canonicalized.  You can see the canonical version of a triplet by
@c running the shell script @file{config.sub} which is included with the
@c sources.
@c 
三項目の設定を使用してターゲットを指定することも可能です．これは，ター
ゲットを指定するために@file{configure}に渡す名前と同種です．三項目の設
定を引数として使用するとき，それを完全に標準のものにする必要があります．
ソースに含まれるシェルスクリプト@file{config.sub}を実行することで，三項
目の標準的なバージョンを知ることが可能です．

@c Some sample configuration triplets are: @samp{m68k-hp-bsd},
@c @samp{mips-dec-ultrix}, @samp{sparc-sun-sunos}.
@c 
サンプルの値は以下のとおりです．@samp{m68k-hp-bsd}，
@samp{mips-dec-ultrix}，@samp{sparc-sun-sunos}．

@c @subheading @command{objdump} Target
@subheading @command{objdump}のターゲット

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c command line option: @option{-b} or @option{--target}
@c 
コマンドラインオプション：@option{-b}または@option{--target}

@item
@c environment variable @code{GNUTARGET}
@c 
環境変数@code{GNUTARGET}

@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@c @subheading @command{objcopy} and @command{strip} Input Target
@subheading @command{objcopy}と@command{strip}の入力ターゲット

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c command line options: @option{-I} or @option{--input-target}, or @option{-F} or @option{--target}
@c 
コマンドラインオプション：@option{-I}または@option{--input-target}，も
しくは，@option{-F}または@option{--target}

@item
@c environment variable @code{GNUTARGET}
@c 
環境変数@code{GNUTARGET}

@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@c @subheading @command{objcopy} and @command{strip} Output Target
@subheading @command{objcopy}と@command{strip}の出力ターゲット

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c command line options: @option{-O} or @option{--output-target}, or @option{-F} or @option{--target}
@c 
コマンドラインオプション：@option{-O}または@option{--output-target}，も
しくは，@option{-F}または@option{--target}

@item
@c the input target (see ``@command{objcopy} and @command{strip} Input Target'' above)
@c 
入力ターゲット(上記の``@command{objcopy}と@command{strip}の入力ターゲッ
ト''を参照してください)

@item
@c environment variable @code{GNUTARGET}
@c 
環境変数@code{GNUTARGET}

@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@c @subheading @command{nm}, @command{size}, and @command{strings} Target
@subheading @command{nm}，@command{size}，そして@command{strings}のターゲット

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c command line option: @option{--target}
@c 
コマンドラインオプション：@option{--target}

@item
@c environment variable @code{GNUTARGET}
@c 
環境変数@code{GNUTARGET}

@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@node Architecture Selection
@c @section Architecture Selection
@section アーキテクチャの選択

@c An @dfn{architecture} is a type of @sc{cpu} on which an object file is
@c to run.  Its name may contain a colon, separating the name of the
@c processor family from the name of the particular @sc{cpu}.
@c 
@dfn{アーキテクチャ(architecture)}は，オブジェクトファイルを実行する
@sc{cpu}の型式です．その名前にはコロンを含めてもかまわず，それは特定の
@sc{cpu}とプロセッサファミリーの名前を分けます．

@c The command to list valid architecture values is @samp{objdump -i} (the
@c second column contains the relevant information).
@c 
有効なアーキテクチャの値をリストアップするコマンドは，@samp{objdump
-i} です(二番目のコロンは，関連する情報を含みます)．

@c Sample values: @samp{m68k:68020}, @samp{mips:3000}, @samp{sparc}.
@c 
サンプルの値です．@samp{m68k:68020}，@samp{mips:3000}，@samp{sparc}．

@c @subheading @command{objdump} Architecture
@subheading @command{objdump}のアーキテクチャ

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c command line option: @option{-m} or @option{--architecture}
@c 
コマンドラインオプション：@option{-m}または@option{--architecture}

@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@c @subheading @command{objcopy}, @command{nm}, @command{size}, @command{strings} Architecture
@subheading @command{objcopy}，@command{nm}，@command{size}，@command{strings}のアーキテクチャ

@c Ways to specify:
@c 
指定方法：

@enumerate
@item
@c deduced from the input file
@c 
入力ファイルから推測
@end enumerate

@node Reporting Bugs
@c @chapter Reporting Bugs
@chapter バグの報告
@cindex bugs
@cindex reporting bugs

@c Your bug reports play an essential role in making the binary utilities
@c reliable.
@c 
バグの報告は，バイナリユーティリティを確実にする上で重要な役割を果たし
ます．

@c Reporting a bug may help you by bringing a solution to your problem, or
@c it may not.  But in any case the principal function of a bug report is
@c to help the entire community by making the next version of the binary
@c utilities work better.  Bug reports are your contribution to their
@c maintenance.
@c 
バグを報告することで，問題の解決をもたらすかもしれませんが，そうでない
かもしれません．しかし，いずれにせよ，バグの報告の主な機能は，バイナリ
ユーティリティの次のバージョンの仕事をより良くすることで，全てのコミュ
ニティに役立つことです．バグの報告は，管理者に対する貢献になります．

@c In order for a bug report to serve its purpose, you must include the
@c information that enables us to fix the bug.
@c 
バグの報告を目的に役立つようにするため，バグの修正が可能となるような情
報を含める必要があります．

@menu
* Bug Criteria::                Have you found a bug?
* Bug Reporting::               How to report bugs
@end menu

@node Bug Criteria
@c @section Have You Found a Bug?
@section バグを見つけましたか？
@cindex bug criteria

@c If you are not sure whether you have found a bug, here are some guidelines:
@c 
バグを見つけたかどうか確実でない場合，ここに指針がいくつかあります．

@itemize @bullet
@cindex fatal signal
@cindex crash
@item
@c If a binary utility gets a fatal signal, for any input whatever, that is
@c a bug.  Reliable utilities never crash.
@c 
バイナリユーティリティが，入力によらず，致命的なシグナルを得た場合，そ
れはバグです．信頼できるユーティリティは決して壊れません．

@cindex error on valid input
@item
@c If a binary utility produces an error message for valid input, that is a
@c bug.
@c 
バイナリユーティリティが有効な入力に対しエラーメッセージを生成した場合，
それはバグです．

@item
@c If you are an experienced user of binary utilities, your suggestions for
@c improvement are welcome in any case.
@c 
バイナリユーティリティの経験豊かなユーザの場合，改良のための提案はいつ
でも歓迎します．
@end itemize

@node Bug Reporting
@c @section How to Report Bugs
@section バグの報告の方法
@cindex bug reports
@cindex bugs, reporting

@c A number of companies and individuals offer support for @sc{gnu}
@c products.  If you obtained the binary utilities from a support
@c organization, we recommend you contact that organization first.
@c 
多くの企業と個人が，@sc{gnu}製品に対してサポートを提供しています．サポー
ト組織からバイナリユーティリティを得ている場合，われわれは，その組織に
最初に連絡するように勧めます．

@c You can find contact information for many support companies and
@c individuals in the file @file{etc/SERVICE} in the @sc{gnu} Emacs
@c distribution.
@c 
@sc{gnu} Emacs配布物のファイル@file{etc/SERVICE}で，サポートしている多
くの会社と個人へ連絡する情報を見つけることが可能です．

@c In any event, we also recommend that you send bug reports for the binary
@c utilities to @samp{bug-binutils@@gnu.org}.
@c 
いずれにせよ，我々は，バイナリユーティリティに対するバグの報告を
@samp{bug-binutils@@gnu.org}にも送ることを勧めます．

@c The fundamental principle of reporting bugs usefully is this:
@c @strong{report all the facts}.  If you are not sure whether to state a
@c fact or leave it out, state it!
@c 
バグの報告の有効な基本原理は以下のとおりです．@strong{すべての事実を報
告する}．事実を述べるべきか削除すべきかよく分からない場合，それを述べて
ください！

@c Often people omit facts because they think they know what causes the
@c problem and assume that some details do not matter.  Thus, you might
@c assume that the name of a file you use in an example does not matter.
@c Well, probably it does not, but one cannot be sure.  Perhaps the bug is
@c a stray memory reference which happens to fetch from the location where
@c that pathname is stored in memory; perhaps, if the pathname were
@c different, the contents of that location would fool the utility into
@c doing the right thing despite the bug.  Play it safe and give a
@c specific, complete example.  That is the easiest thing for you to do,
@c and the most helpful.
@c 
人々はよく，問題を発生させるものを知っていて，重要でない詳細もあると思
うため，事実を省略します．このため，使用したファイル名は重要でないと考
えたとします．さて，おそらくそうでしょうが，確実ではありません．おそら
くバグは，パス名がメモリに保存されている場所から取り出すために生じる，
偶然のメモリ参照です．おそらく，パス名が異なっている場合，その場所の内
容は，バグにもかかわらず正しいことを行うユーティリティを馬鹿にするでしょ
う．安全に動作するようにし，特定の完全な例を与えてください．それは，最
も簡単に行うことができ，最も役に立ちます．

@c Keep in mind that the purpose of a bug report is to enable us to fix the bug if
@c it is new to us.  Therefore, always write your bug reports on the assumption
@c that the bug has not been reported previously.
@c 
バグの報告の目的が，新しいものの場合は，バグの修正を可能にすることだと
いうことを覚えておいてください．そのため，以前にバグが報告されていない
ことを常に前提にして，バグの報告を書いてください．

@c Sometimes people give a few sketchy facts and ask, ``Does this ring a
@c bell?''  This cannot help us fix a bug, so it is basically useless.  We
@c respond by asking for enough details to enable us to investigate.
@c You might as well expedite matters by sending them to begin with.
@c 
ときどき，概略だけのわずかな事実を与え，``これは報告すべきですか？
(Does this ring a bell?)''と尋ねる人がいます．これでは，我々のバグの修
正の助けにならないので，基本的には役に立ちません．我々は，調査すること
が可能になるように十分に詳細な内容を尋ねる返事を出します．またまた最初
から，問題を早急に送るはめになるでしょう．

@c To enable us to fix the bug, you should include all these things:
@c 
バグの修正を可能とするため，以下のすべてのものを含めるべきです．

@itemize @bullet
@item
@c The version of the utility.  Each utility announces it if you start it
@c with the @option{--version} argument.
@c 
ユーティリティのバージョン．それぞれのバージョンは，@option{--version}
引数を用いて開始した場合，それを報告します．

@c Without this, we will not know whether there is any point in looking for
@c the bug in the current version of the binary utilities.
@c 
これがなければ，我々はバイナリユーティリティの現在のバージョンにバグを
探す場所があるかどうか分かりません．

@item
@c Any patches you may have applied to the source, including any patches
@c made to the @code{BFD} library.
@c 
@code{BFD}ライブラリを作るために与えたパッチを含む，ソースに適用したあ
らゆるパッチ．

@item
@c The type of machine you are using, and the operating system name and
@c version number.
@c 
使用しているマシンの形式と，オペレーティングシステム名とバージョンナン
バー．

@item
@c What compiler (and its version) was used to compile the utilities---e.g.
@c ``@code{gcc-2.7}''.
@c 
ユーティリティをコンパイルするとき使用したコンパイラ(とバージョン) ---
例えば，``@code{gcc-2.7}''．

@item
@c The command arguments you gave the utility to observe the bug.  To
@c guarantee you will not omit something important, list them all.  A copy
@c of the Makefile (or the output from make) is sufficient.
@c 
バグを観測するためにユーティリティに与えたコマンド引数．重要なものを省
略しないことを保証するため，すべてをリストアップしてください．
Makefile(またはmakeの出力)のコピーで十分です．

@c If we were to try to guess the arguments, we would probably guess wrong
@c and then we might not encounter the bug.
@c 
我々が引数を推測しようとした場合，おそらく間違ったものを推測し，バグに
遭遇しない可能性があります．

@item
@c A complete input file, or set of input files, that will reproduce the
@c bug.  If the utility is reading an object file or files, then it is
@c generally most helpful to send the actual object files, uuencoded if
@c necessary to get them through the mail system.  Note that
@c @samp{bug-binutils@@gnu.org} is a mailing list, so you should avoid
@c sending very large files to it.  Making the files available for
@c anonymous FTP is OK.
@c 
完全な入力ファイルまたは入力ファイルの組で，実際のオブジェクトファイル
を送ることは，最も役に立ち，バグがあればuuencodeしてください．ユーティ
リティがオブジェクトファイルやファイルを読み込んでいる場合，それをメー
ルシステムに通過させる場合必要です．@samp{bug-binutils@@gnu.org}はメー
リングリストなので，非常に大きなファイルをそこに送ることは避けるよう注
意してください．ファイルをanonymous FTPで利用可能にするとOKです．

@c If the source files were produced exclusively using @sc{gnu} programs
@c (e.g., @command{gcc}, @command{gas}, and/or the @sc{gnu} @command{ld}), then it
@c may be OK to send the source files rather than the object files.  In
@c this case, be sure to say exactly what version of @command{gcc}, or
@c whatever, was used to produce the object files.  Also say how
@c @command{gcc}, or whatever, was configured.
@c 
ソースファイルが@sc{gnu}プログラム(例えば，@command{gcc}，
@command{gas}，そして/または，@sc{gnu} @command{ld})を使用して生成され
たことが明らかな場合，オブジェクトファイルよりソースファイルを送ること
でOKです．この場合，@command{gcc}や，それらオブジェクトファイルを生成す
るために使用したあらゆるもののバージョンを正確に確実に伝えてください．
@command{gcc}や，それらあらゆるもののコンフィグレーションの方法も伝えて
ください．

@item
@c A description of what behavior you observe that you believe is
@c incorrect.  For example, ``It gets a fatal signal.''
@c 
適当でないと確信することになった動作の記述．例えば，``致命的なシグナル
を得た''．

@c Of course, if the bug is that the utility gets a fatal signal, then we
@c will certainly notice it.  But if the bug is incorrect output, we might
@c not notice unless it is glaringly wrong.  You might as well not give us
@c a chance to make a mistake.
@c 
もちろん，バグはユーティリティが致命的なシグナルを得た場合，我々はきっ
とそこに注目します．しかし，バグが不適切な出力の場合，我々は，明らかに
間違っていない限り注目しないかもしれません．我々が間違う機会を与えない
方がよいでしょう．

@c Even if the problem you experience is a fatal signal, you should still
@c say so explicitly.  Suppose something strange is going on, such as your
@c copy of the utility is out of synch, or you have encountered a bug in
@c the C library on your system.  (This has happened!)  Your copy might
@c crash and ours would not.  If you told us to expect a crash, then when
@c ours fails to crash, we would know that the bug was not happening for
@c us.  If you had not told us to expect a crash, then we would not be able
@c to draw any conclusion from our observations.
@c 
遭遇した問題が致命的なシグナルの場合でさえ，それを明確に伝えるべきです．
ユーティリティのコピーが同期化されていない，または，システムのCライブラ
リのバグに遭遇したといった，おそらく何か変なことが生じています．(それは
発生したのです！) コピーは壊れていて，我々のはそうでないかもしれません．
壊れることを期待していると我々に告げ，我々が壊すことに失敗した場合，我々
にバグは発生しないことを知るでしょう．壊れることを期待していると我々に
告げない場合，我々は自分達の観測から全く結論が得られないでしょう．

@item
@c If you wish to suggest changes to the source, send us context diffs, as
@c generated by @command{diff} with the @option{-u}, @option{-c}, or @option{-p}
@c option.  Always send diffs from the old file to the new file.  If you
@c wish to discuss something in the @command{ld} source, refer to it by
@c context, not by line number.
@c 
ソースの変更を提案したい場合，@option{-u}，@option{-c}，または
@option{-p}オプションを用いた@command{diff}で生成したような，コンテクス
トのdiffを我々に送ってください．古いファイルから新しいファイルへのdiff
を，常に送ってください．@command{ld}のソースについて何か議論したい場合，
行番号ではなくコンテクストで参照してください．

@c The line numbers in our development sources will not match those in your
@c sources.  Your line numbers would convey no useful information to us.
@c 
我々の開発ソース内の行番号は，あなた方のソースと一致しないでしょう．行
番号は我々に全く情報をもたらしません．
@end itemize

@c Here are some things that are not necessary:
@c 
不要なものは以下のものです．

@itemize @bullet
@item
@c A description of the envelope of the bug.
@c 
バグの回りの説明．

@c Often people who encounter a bug spend a lot of time investigating
@c which changes to the input file will make the bug go away and which
@c changes will not affect it.
@c 
バグに遭遇した人は，バグを無くす入力ファイルへの変更と，効果がない変更
を調査するのに多くの時間を費やすことが多いです．

@c This is often time consuming and not very useful, because the way we
@c will find the bug is by running a single example under the debugger
@c with breakpoints, not by pure deduction from a series of examples.
@c We recommend that you save your time for something else.
@c 
我々がバグを見つける方法は，単純な例をブレークポイントを用いたデバッガ
で実行することで，それは一連の例から推測することではないので，これは役
に立たないことが多いです．我々は，他のことをすることを勧めます．

@c Of course, if you can find a simpler example to report @emph{instead}
@c of the original one, that is a convenience for us.  Errors in the
@c output will be easier to spot, running under the debugger will take
@c less time, and so on.
@c 
もちろん，報告するためのオリジナルの例@emph{ではなく}，それより簡単な例
が見つかった場合，それはとても役立ちます．出力ファイルのエラーは，見つ
けるのがより簡単，デバッガの実行に余り時間がかからない，等々です．

@c However, simplification is not vital; if you do not want to do this,
@c report the bug anyway and send us the entire test case you used.
@c 
しかし，簡略化は重要ではありません．こうしたくない場合，いい加減にバグ
を報告し，使用したテストケースを全て我々に送ってください．

@item
@c A patch for the bug.
@c 
バグに対するパッチ．

@c A patch for the bug does help us if it is a good one.  But do not omit
@c the necessary information, such as the test case, on the assumption that
@c a patch is all we need.  We might see problems with your patch and decide
@c to fix the problem another way, or we might not understand it at all.
@c 
バグに対するパッチは，それが良いものであれば我々は助かります．しかし，
テストケースのような，我々全員がパッチを必要だと推測するのに必要な情報
を省略しないでください．我々は，パッチに関する問題が分かり，別の方法で
問題を修正することに決めるかもしれませんし，全く理解できないかもしれま
せん．

@c Sometimes with programs as complicated as the binary utilities it is
@c very hard to construct an example that will make the program follow a
@c certain path through the code.  If you do not send us the example, we
@c will not be able to construct one, so we will not be able to verify that
@c the bug is fixed.
@c 
バイナリユーティリティと同じくらい複雑なプログラムを用いた場合，コード
を通じて，プログラムに特定の手順をたどらせる例を構成することは，とても
難しいことです．例を我々に送らない場合，我々はそれを構成することができ
ないので，我々はバグが修正されたかどうか検証することができません．

@c And if we cannot understand what bug you are trying to fix, or why your
@c patch should be an improvement, we will not install it.  A test case will
@c help us to understand.
@c 
そして，あなたが修正しようとしたバグや，パッチの改良点を我々が理解でき
ない場合や，我々はそれをインストールしないでしょう．テストケースは我々
の理解を助けます．

@item
@c A guess about what the bug is or what it depends on.
@c 
バグやそれが依存するものに関する推測．

@c Such guesses are usually wrong.  Even we cannot guess right about such
@c things without first using the debugger to find the facts.
@c 
そのような推測は，通常正しくありません．事実を見つけるために最初にデバッ
ガを使用しなければ，我々でも正しく推測できません．
@end itemize

@include fdl.texi

@node Index
@c @unnumbered Index
@unnumbered 索引

@printindex cp

@contents
@bye
