* debug.h (debug_get_type_size): Declare.
[deliverable/binutils-gdb.git] / binutils / binutils.texi
index f31cdb5b4f6ad1b944baecde5e9695df987be93f..31df7f1644e2d18c3891fe84f9e2efbddd5fc4fd 100644 (file)
@@ -1,5 +1,6 @@
 \input texinfo       @c                    -*- Texinfo -*-
 @setfilename binutils.info
+@include config.texi
 
 @ifinfo
 @format
@@ -12,7 +13,7 @@ END-INFO-DIR-ENTRY
 @end ifinfo
 
 @ifinfo
-Copyright @copyright{} 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -40,18 +41,18 @@ into another language, under the above conditions for modified versions.
 @c This file documents the GNU binary utilities "ar", "ld", "objcopy",
 @c  "objdump", "nm", "size", "strings", "strip", and "ranlib".
 @c
-@c Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+@c Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
 @c 
 @c This text may be freely distributed under the terms of the GNU
 @c General Public License.
 @c
 
 @setchapternewpage odd
-@settitle GNU Binary Utilities
+@settitle @sc{gnu} Binary Utilities
 @titlepage
 @finalout
-@title The GNU Binary Utilities
-@subtitle Version 2.2
+@title The @sc{gnu} Binary Utilities
+@subtitle Version @value{VERSION}
 @sp 1
 @subtitle May 1993
 @author Roland H. Pesch
@@ -65,7 +66,7 @@ into another language, under the above conditions for modified versions.
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -84,8 +85,8 @@ into another language, under the above conditions for modified versions.
 @top Introduction
 
 @cindex version
-This brief manual contains preliminary documentation for the GNU binary
-utilities (collectively version 2.2): 
+This brief manual contains preliminary documentation for the @sc{gnu} binary
+utilities (collectively version @value{VERSION}): 
 
 @iftex
 @table @code
@@ -147,7 +148,7 @@ ar [-]@var{p}[@var{mod} [@var{relpos}]] @var{archive} [@var{member}@dots{}]
 ar -M [ <mri-script ]
 @end smallexample
 
-The GNU @code{ar} program creates, modifies, and extracts from
+The @sc{gnu} @code{ar} program creates, modifies, and extracts from
 archives.  An @dfn{archive} is a single file holding a collection of
 other files in a structure that makes it possible to retrieve
 the original individual files (called @dfn{members} of the archive).
@@ -157,7 +158,7 @@ group are preserved in the archive, and can be restored on
 extraction.  
 
 @cindex name length
-GNU @code{ar} can maintain archives whose members have names of any
+@sc{gnu} @code{ar} can maintain archives whose members have names of any
 length; however, depending on how @code{ar} is configured on your
 system, a limit on member-name length may be imposed for compatibility
 with archive formats maintained with other tools.  If it exists, the
@@ -184,7 +185,7 @@ table.  If an archive lacks the table, another form of @code{ar} called
 
 @cindex compatibility, @code{ar}
 @cindex @code{ar} compatibility
-GNU @code{ar} is designed to be compatible with two different
+@sc{gnu} @code{ar} is designed to be compatible with two different
 facilities.  You can control its activity using command-line options,
 like the different varieties of @code{ar} on Unix systems; or, if you
 specify the single command-line option @samp{-M}, you can control it
@@ -213,7 +214,7 @@ arguments to execute: one keyletter specifying the @emph{operation}
 Most operations can also accept further @var{member} arguments,
 specifying particular files to operate on.
 
-GNU @code{ar} allows you to mix the operation code @var{p} and modifier
+@sc{gnu} @code{ar} allows you to mix the operation code @var{p} and modifier
 flags @var{mod} in any order, within the first command-line argument.
 
 If you wish, you may begin the first command-line argument with a
@@ -344,6 +345,13 @@ created if it did not exist, when you request an update.  But a warning is
 issued unless you specify in advance that you expect to create it, by
 using this modifier.
 
+@item f
+Truncate names in the archive.  @sc{gnu} @code{ar} will normally permit file
+names of any length.  This will cause it to create archives which are
+not compatible with the native @code{ar} program on some systems.  If
+this is a concern, the @samp{f} modifier may be used to truncate file
+names when putting them in the archive.
+
 @item i
 Insert new files @emph{before} an existing member of the
 archive.  If you use the modifier @samp{i}, the name of an existing archive
@@ -353,7 +361,7 @@ member must be present as the @var{relpos} argument, before the
 @item l
 This modifier is accepted but not used.
 @c whaffor ar l modifier??? presumably compat; with
-@c what???---pesch@@cygnus.com, 25jan91 
+@c what???---doc@@cygnus.com, 25jan91 
 
 @item o
 @cindex dates in archive
@@ -408,7 +416,7 @@ on any error.
 The @code{ar} command language is @emph{not} designed to be equivalent
 to the command-line options; in fact, it provides somewhat less control
 over archives.  The only purpose of the command language is to ease the
-transition to GNU @code{ar} for developers who already have scripts
+transition to @sc{gnu} @code{ar} for developers who already have scripts
 written for the MRI ``librarian'' program.
 
 The syntax for the @code{ar} command language is straightforward:
@@ -518,7 +526,7 @@ Requires prior use of @code{OPEN} or @code{CREATE}.
 @item LIST
 Display full contents of the current archive, in ``verbose'' style
 regardless of the state of @code{VERBOSE}.  The effect is like @samp{ar
-tv @var{archive}}).  (This single command is a GNU @code{ld}
+tv @var{archive}}).  (This single command is a @sc{gnu} @code{ld}
 enhancement, rather than present for MRI compatibility.)
 
 Requires prior use of @code{OPEN} or @code{CREATE}.
@@ -555,8 +563,8 @@ Requires prior use of @code{OPEN} or @code{CREATE}.
 @chapter ld
 @cindex linker
 @kindex ld
-The GNU linker @code{ld} is now described in a separate manual.
-@xref{Top,, Overview,, Using LD: the GNU linker}.
+The @sc{gnu} linker @code{ld} is now described in a separate manual.
+@xref{Top,, Overview,, Using LD: the @sc{gnu} linker}.
 @end iftex
 
 @node nm
@@ -572,10 +580,11 @@ nm [ -a | --debug-syms ]  [ -g | --extern-only ]
    [ -r | --reverse-sort ]  [ --size-sort ] [ -u | --undefined-only ]
    [ -t @var{radix} | --radix=@var{radix} ] [ -P | --portability ]
    [ --target=@var{bfdname} ] [ -f @var{format} | --format=@var{format} ]
+   [ --defined-only ]
    [ --no-demangle ] [ -V | --version ]  [ --help ]  [ @var{objfile}@dots{} ]
 @end smallexample
 
-GNU @code{nm} lists the symbols from object files @var{objfile}@dots{}.
+@sc{gnu} @code{nm} lists the symbols from object files @var{objfile}@dots{}.
 If no object files are listed as arguments, @code{nm} assumes
 @file{a.out}.
 
@@ -727,6 +736,11 @@ Specify an object code format other than your system's default format.
 @cindex undefined symbols
 Display only undefined symbols (those external to each object file).
 
+@item --defined-only
+@cindex external symbols
+@cindex undefined symbols
+Display only defined symbols for each object file.
+
 @item -V
 @itemx --version
 Show the version number of @code{nm} and exit.
@@ -749,6 +763,7 @@ objcopy [ -F @var{bfdname} | --target=@var{bfdname} ]
         [ -b @var{byte} | --byte=@var{byte} ]
         [ -i @var{interleave} | --interleave=@var{interleave} ]
         [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
+        [ --debugging ]
         [ --gap-fill=@var{val} ] [ --pad-to=@var{address} ]
         [ --set-start=@var{val} ] [ --adjust-start=@var{incr} ]
         [ --adjust-vma=@var{incr} ]
@@ -865,6 +880,11 @@ copy with the @var{-b} or @samp{--byte} option.  The default is 4.
 @code{objcopy} ignores this option if you do not specify either @samp{-b} or
 @samp{--byte}.
 
+@item --debugging
+Convert debugging information, if possible.  This is not the default
+because only certain debugging formats are supported, and the
+conversion process can be time consuming.
+
 @item --gap-fill @var{val}
 Fill gaps between sections with @var{val}.  This is done by increasing
 the size of the section with the lower address, and filling in the extra
@@ -941,7 +961,7 @@ Show a summary of the options to @code{objcopy}.
 
 @smallexample
 objdump [ -a | --archive-headers ] 
-        [ -b @var{bfdname} | --target=@var{bfdname} ]
+        [ -b @var{bfdname} | --target=@var{bfdname} ] [ --debugging ]
         [ -d | --disassemble ]  [ -D | --disassemble-all ] 
         [ -f | --file-headers ]
         [ -h | --section-headers | --headers ]  [ -i | --info ]
@@ -951,7 +971,9 @@ objdump [ -a | --archive-headers ]
         [ -r | --reloc ] [ -R | --dynamic-reloc ]
         [ -s | --full-contents ]  [ --stabs ]
         [ -t | --syms ] [ -T | --dynamic-syms ] [ -x | --all-headers ]
-        [ -w | --wide ] [ --version ]  [ --help ] @var{objfile}@dots{}
+        [ -w | --wide ] [ --start-address=@var{address} ]
+        [ --stop-address=@var{address} ] [ --version ]  [ --help ]
+        @var{objfile}@dots{}
 @end smallexample
 
 @code{objdump} displays information about one or more object files.
@@ -994,6 +1016,11 @@ file in the format produced by Oasys compilers.  You can list the
 formats available with the @samp{-i} option.
 @xref{Target Selection}, for more information.
 
+@item --debugging
+Display debugging information.  This attempts to parse debugging
+information stored in the file and print it out using a C like syntax.
+Only certain types of debugging information have been implemented.
+
 @item -d
 @itemx --disassemble
 @cindex disassembling object code
@@ -1098,6 +1125,16 @@ section.  In most other file formats, debugging symbol-table entries are
 interleaved with linkage symbols, and are visible in the @samp{--syms}
 output.
 
+@item --start-address=@var{address}
+@cindex start-address
+Start displaying data at the specified address.  This affects the output
+of the @code{-d}, @code{-r} and @code{-s} options.
+
+@item --stop-address=@var{address}
+@cindex stop-address
+Stop displaying data at the specified address.  This affects the output
+of the @code{-d}, @code{-r} and @code{-s} options.
+
 @item -t
 @itemx --syms
 @cindex symbol table entries, printing
@@ -1150,7 +1187,7 @@ An archive with such an index speeds up linking to the library and
 allows routines in the library to call each other without regard to
 their placement in the archive.
 
-The GNU @code{ranlib} program is another form of GNU @code{ar}; running
+The @sc{gnu} @code{ranlib} program is another form of @sc{gnu} @code{ar}; running
 @code{ranlib} is completely equivalent to executing @samp{ar -s}.
 @xref{ar}.
 
@@ -1173,7 +1210,7 @@ size [ -A | -B | --format=@var{compatibility} ]
      @var{objfile}@dots{}
 @end smallexample
 
-The GNU @code{size} utility lists the section sizes---and the total
+The @sc{gnu} @code{size} utility lists the section sizes---and the total
 size---for each of the object or archive files @var{objfile} in its
 argument list.  By default, one line of output is generated for each
 object file or each module in an archive.
@@ -1187,7 +1224,7 @@ The command line options have the following meanings:
 @itemx -B
 @itemx --format=@var{compatibility}
 @cindex @code{size} display format
-Using one of these options, you can choose whether the output from GNU
+Using one of these options, you can choose whether the output from @sc{gnu}
 @code{size} resembles output from System V @code{size} (using @samp{-A},
 or @samp{--format=sysv}), or Berkeley @code{size} (using @samp{-B}, or
 @samp{--format=berkeley}).  The default is the one-line format similar to
@@ -1269,12 +1306,12 @@ strings [-afov] [-@var{min-len}] [-n @var{min-len}] [-t @var{radix}] [-]
         [--help] [--version] @var{file}@dots{}
 @end smallexample
 
-For each @var{file} given, GNU @code{strings} prints the printable
+For each @var{file} given, @sc{gnu} @code{strings} prints the printable
 character sequences that are at least 4 characters long (or the number
-given with the options below) and are followed by a NUL or newline
+given with the options below) and are followed by an unprintable
 character.  By default, it only prints the strings from the initialized
-data sections of object files; for other types of files, it prints the
-strings from the whole file.
+and loaded sections of object files; for other types of files, it prints
+the strings from the whole file.
 
 @code{strings} is mainly useful for determining the contents of non-text
 files.
@@ -1283,8 +1320,8 @@ files.
 @item -a
 @itemx --all
 @itemx -
-Do not scan only the initialized data section of object files; scan
-the whole files.
+Do not scan only the initialized and loaded sections of object files;
+scan the whole files.
 
 @item -f
 @itemx --print-file-name
@@ -1341,7 +1378,7 @@ strip [ -F @var{bfdname} | --target=@var{bfdname} | --target=@var{bfdname} ]
       @var{objfile}@dots{}
 @end smallexample
 
-GNU @code{strip} discards all symbols from object files
+@sc{gnu} @code{strip} discards all symbols from object files
 @var{objfile}.  The list of object files may include archives.
 At least one object file must be given.
 
@@ -1467,13 +1504,13 @@ Do not remove the initial underscore.
 
 @item -s @var{format}
 @itemx --format=@var{format}
-GNU @code{nm} can decode three different methods of mangling, used by
+@sc{gnu} @code{nm} can decode three different methods of mangling, used by
 different C++ compilers.  The argument to this option selects which
 method it uses:
 
 @table @code
 @item gnu
-the one used by the GNU compiler (the default method)
+the one used by the @sc{gnu} compiler (the default method)
 @item lucid
 the one used by the Lucid compiler
 @item arm
@@ -1613,7 +1650,7 @@ listed later.
 
 The commands to list valid values only list the values for which the
 programs you are running were configured.  If they were configured with
-@samp{--with-targets=all}, the commands list most of the available
+@samp{--enable-targets=all}, the commands list most of the available
 values, but a few are left out; not all targets can be configured in at
 once because some of them can only be configured @dfn{native} (on hosts
 with the same type as the target system).
This page took 0.029022 seconds and 4 git commands to generate.