* stack.c (print_stack_frame print_frame_info) symmisc.c
[deliverable/binutils-gdb.git] / binutils / binutils.texi
index aeb67fbc57210f55e701f1520d8f177493474424..fbec8beace86ebc16eb9844c8212005586a10ba8 100644 (file)
@@ -1,5 +1,6 @@
 \input texinfo       @c                    -*- Texinfo -*-
 @setfilename binutils.info
 \input texinfo       @c                    -*- Texinfo -*-
 @setfilename binutils.info
+@include config.texi
 
 @ifinfo
 @format
 
 @ifinfo
 @format
@@ -12,7 +13,7 @@ END-INFO-DIR-ENTRY
 @end ifinfo
 
 @ifinfo
 @end ifinfo
 
 @ifinfo
-Copyright @copyright{} 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -47,11 +48,11 @@ into another language, under the above conditions for modified versions.
 @c
 
 @setchapternewpage odd
 @c
 
 @setchapternewpage odd
-@settitle GNU Binary Utilities
+@settitle @sc{gnu} Binary Utilities
 @titlepage
 @finalout
 @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
 @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
 @end tex
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
 
 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
 @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
 
 @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
 
 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).
 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
 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
 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
 
 @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
 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.
 
 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
 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.
 
 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
 @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
 @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
 
 @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
 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:
 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
 @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}.
 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
 @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
 @end iftex
 
 @node nm
@@ -567,15 +575,16 @@ The GNU linker @code{ld} is now described in a separate manual.
 @smallexample
 nm [ -a | --debug-syms ]  [ -g | --extern-only ]
    [ -B ]  [ -C | --demangle ] [ -D | --dynamic ]
 @smallexample
 nm [ -a | --debug-syms ]  [ -g | --extern-only ]
    [ -B ]  [ -C | --demangle ] [ -D | --dynamic ]
-   [ -s | --print-armap ]  [ -A | -o | --print-file-name ]  
+   [ -s | --print-armap ]  [ -A | -o | --print-file-name ]
    [ -n | -v | --numeric-sort ]  [ -p | --no-sort ]
    [ -n | -v | --numeric-sort ]  [ -p | --no-sort ]
-   [ -r | --reverse-sort ]  [ -u | --undefined-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} ]
    [ -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
 
    [ --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}.
 
 If no object files are listed as arguments, @code{nm} assumes
 @file{a.out}.
 
@@ -706,6 +715,11 @@ contain definitions for which names.
 Reverse the order of the sort (whether numeric or alphabetic); let the
 last come first.
 
 Reverse the order of the sort (whether numeric or alphabetic); let the
 last come first.
 
+@item --size-sort
+Sort symbols by size.  The size is computed as the difference between
+the value of the symbol and the value of the symbol with the next higher
+value.  The size of the symbol is printed, rather than the value.
+
 @item -t @var{radix}
 @itemx --radix=@var{radix}
 Use @var{radix} as the radix for printing the symbol values.  It must be
 @item -t @var{radix}
 @itemx --radix=@var{radix}
 Use @var{radix} as the radix for printing the symbol values.  It must be
@@ -722,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).
 
 @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.
 @item -V
 @itemx --version
 Show the version number of @code{nm} and exit.
@@ -738,10 +757,19 @@ objcopy [ -F @var{bfdname} | --target=@var{bfdname} ]
         [ -I @var{bfdname} | --input-target=@var{bfdname} ]
         [ -O @var{bfdname} | --output-target=@var{bfdname} ]
         [ -S | --strip-all ]  [ -g | --strip-debug ]
         [ -I @var{bfdname} | --input-target=@var{bfdname} ]
         [ -O @var{bfdname} | --output-target=@var{bfdname} ]
         [ -S | --strip-all ]  [ -g | --strip-debug ]
+        [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ]
+        [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ]
         [ -x | --discard-all ]  [ -X | --discard-locals ]
         [ -b @var{byte} | --byte=@var{byte} ]
         [ -i @var{interleave} | --interleave=@var{interleave} ]
         [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
         [ -x | --discard-all ]  [ -X | --discard-locals ]
         [ -b @var{byte} | --byte=@var{byte} ]
         [ -i @var{interleave} | --interleave=@var{interleave} ]
         [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
+        [ --gap-fill=@var{val} ] [ --pad-to=@var{address} ]
+        [ --set-start=@var{val} ] [ --adjust-start=@var{incr} ]
+        [ --adjust-vma=@var{incr} ]
+        [ --adjust-section-vma=@var{section}@{=,+,-@}@var{val} ]
+        [ --adjust-warnings ] [ --no-adjust-warnings ]
+        [ --set-section-flags=@var{section}=@var{flags} ]
+        [ --add-section=@var{sectionname}=@var{filename} ]
         [ -v | --verbose ] [ -V | --version ]  [ --help ]
         @var{infile} [@var{outfile}]
 @end smallexample
         [ -v | --verbose ] [ -V | --version ]  [ --help ]
         @var{infile} [@var{outfile}]
 @end smallexample
@@ -758,6 +786,21 @@ translation work; it has access to all the formats described in @sc{bfd}
 and thus is able to recognize most formats without being told
 explicitly.  @xref{BFD,,BFD,ld.info,Using LD}.
 
 and thus is able to recognize most formats without being told
 explicitly.  @xref{BFD,,BFD,ld.info,Using LD}.
 
+@code{objcopy} can be used to generate S-records by using an output
+target of @samp{srec} (e.g., use @samp{-O srec}).
+
+@code{objcopy} can be used to generate a raw binary file by using an
+output target of @samp{binary} (e.g., use @samp{-O binary}).  When
+@code{objcopy} generates a raw binary file, it will essentially produce
+a memory dump of the contents of the input object file.  All symbols and
+relocation information will be discarded.  The memory dump will start at
+the virtual address of the lowest section copied into the output file.
+
+When generating an S-record or a raw binary file, it may be helpful to
+use @samp{-S} to remove sections containing debugging information.  In
+some cases @samp{-R} will be useful to remove sections which contain
+information which is not needed by the binary file.
+
 @table @code
 @item @var{infile}
 @itemx @var{outfile}
 @table @code
 @item @var{infile}
 @itemx @var{outfile}
@@ -796,6 +839,20 @@ Do not copy relocation and symbol information from the source file.
 @itemx --strip-debug
 Do not copy debugging symbols from the source file.
 
 @itemx --strip-debug
 Do not copy debugging symbols from the source file.
 
+@item --strip-unneeded
+Strip all symbols that are not needed for relocation processing.
+
+@item -K @var{symbolname}
+@itemx --keep-symbol=@var{symbolname}
+Copy only symbol @var{symbolname} from the source file.  This option may
+be given more than once.
+
+@item -N @var{symbolname}
+@itemx --strip-symbol=@var{symbolname}
+Do not copy symbol @var{symbolname} from the source file.  This option
+may be given more than once, and may be combined with strip options
+other than @code{-K}.
+
 @item -x
 @itemx --discard-all
 Do not copy non-global symbols from the source file.
 @item -x
 @itemx --discard-all
 Do not copy non-global symbols from the source file.
@@ -822,6 +879,61 @@ 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}.
 
 @code{objcopy} ignores this option if you do not specify either @samp{-b} or
 @samp{--byte}.
 
+@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
+space created with @var{val}.
+
+@item --pad-to @var{address}
+Pad the output file up to the virtual address @var{address}.  This is
+done by increasing the size of the last section.  The extra space is
+filled in with the value specified by @samp{--gap-fill} (default zero).
+
+@item --set-start @var{val}
+Set the address of the new file to @var{val}.  Not all object file
+formats support setting the start address.
+
+@item --adjust-start @var{incr}
+Adjust the start address by adding @var{incr}.  Not all object file
+formats support setting the start address.
+
+@item --adjust-vma @var{incr}
+Adjust the address of all sections, as well as the start address, by
+adding @var{incr}.  Some object file formats do not permit section
+addresses to be changed arbitrarily.  Note that this does not relocate
+the sections; if the program expects sections to be loaded at a certain
+address, and this option is used to change the sections such that they
+are loaded at a different address, the program may fail.
+
+@item --adjust-section-vma @var{section}@{=,+,-@}@var{val}
+Set or adjust the address of the named @var{section}.  If @samp{=} is
+used, the section address is set to @var{val}.  Otherwise, @var{val} is
+added to or subtracted from the section address.  See the comments under
+@samp{--adjust-vma}, above.  If @var{section} does not exist in the
+input file, a warning will be issued, unless @samp{--no-adjust-warnings}
+is used.
+
+@item --adjust-warnings
+If @samp{--adjust-section-vma} is used, and the named section does not
+exist, issue a warning.  This is the default.
+
+@item --no-adjust-warnings
+Do not issue a warning if @samp{--adjust-section-vma} is used, even if
+the named section does not exist.
+
+@item --set-section-flags @var{section}=@var{flags}
+Set the flags for the named section.  The @var{flags} argument is a
+comma separated string of flag names.  The recognized names are
+@samp{alloc}, @samp{load}, @samp{readonly}, @samp{code}, @samp{data},
+and @samp{rom}.  Not all flags are meaningful for all object file
+formats.
+
+@item --add-section @var{sectionname}=@var{filename}
+Add a new section named @var{sectionname} while copying the file.  The
+contents of the new section are taken from the file @var{filename}.  The
+size of the section will be the size of the file.  This option only
+works on file formats which can support sections with arbitrary names.
+
 @item -V
 @itemx --version
 Show the version number of @code{objcopy}.
 @item -V
 @itemx --version
 Show the version number of @code{objcopy}.
@@ -843,16 +955,19 @@ Show a summary of the options to @code{objcopy}.
 
 @smallexample
 objdump [ -a | --archive-headers ] 
 
 @smallexample
 objdump [ -a | --archive-headers ] 
-        [ -b @var{bfdname} | --target=@var{bfdname} ]
-        [ -d | --disassemble ]  [ -f | --file-headers ]
+        [ -b @var{bfdname} | --target=@var{bfdname} ] [ --debugging ]
+        [ -d | --disassemble ]  [ -D | --disassemble-all ] 
+        [ -f | --file-headers ]
         [ -h | --section-headers | --headers ]  [ -i | --info ]
         [ -j @var{section} | --section=@var{section} ]
         [ -h | --section-headers | --headers ]  [ -i | --info ]
         [ -j @var{section} | --section=@var{section} ]
-        [ -l | --line-numbers ]
+        [ -l | --line-numbers ] [ -S | --source ]
         [ -m @var{machine} | --architecture=@var{machine} ]
         [ -r | --reloc ] [ -R | --dynamic-reloc ]
         [ -s | --full-contents ]  [ --stabs ]
         [ -t | --syms ] [ -T | --dynamic-syms ] [ -x | --all-headers ]
         [ -m @var{machine} | --architecture=@var{machine} ]
         [ -r | --reloc ] [ -R | --dynamic-reloc ]
         [ -s | --full-contents ]  [ --stabs ]
         [ -t | --syms ] [ -T | --dynamic-syms ] [ -x | --all-headers ]
-        [ --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.
 @end smallexample
 
 @code{objdump} displays information about one or more object files.
@@ -895,12 +1010,23 @@ 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.
 
 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
 @cindex machine instructions
 @item -d
 @itemx --disassemble
 @cindex disassembling object code
 @cindex machine instructions
-Display the assembler mnemonics for the machine
-instructions from @var{objfile}.
+Display the assembler mnemonics for the machine instructions from
+@var{objfile}.  This option only disassembles those sections which are
+expected to contain instructions.
+
+@item -D
+@itemx --disassemble-all
+Like @samp{-d}, but disassemble the contents of all sections, not just
+those expected to contain instructions.
 
 @item -f
 @itemx --file-header
 
 @item -f
 @itemx --file-header
@@ -944,7 +1070,7 @@ Display information only for section @var{name}.
 @cindex source filenames for object files
 Label the display (using debugging information) with the filename
 and source line numbers corresponding to the object code shown.
 @cindex source filenames for object files
 Label the display (using debugging information) with the filename
 and source line numbers corresponding to the object code shown.
-Only useful with @samp{-d}.
+Only useful with @samp{-d} or @samp{-D}.
 
 @item -m @var{machine}
 @itemx --architecture=@var{machine}
 
 @item -m @var{machine}
 @itemx --architecture=@var{machine}
@@ -956,7 +1082,9 @@ option.
 @item -r
 @itemx --reloc
 @cindex relocation entries, in object file
 @item -r
 @itemx --reloc
 @cindex relocation entries, in object file
-Print the relocation entries of the file.
+Print the relocation entries of the file.  If used with @samp{-d} or
+@samp{-D}, the relocations are printed interspersed with the
+disassembly.
 
 @item -R
 @itemx --dynamic-reloc
 
 @item -R
 @itemx --dynamic-reloc
@@ -971,6 +1099,13 @@ libraries.
 @cindex object file sections
 Display the full contents of any sections requested.
 
 @cindex object file sections
 Display the full contents of any sections requested.
 
+@item -S
+@itemx --source
+@cindex source disassembly
+@cindex disassembly, with source
+Display source code intermixed with disassembly, if possible.  Implies
+@samp{-d}.
+
 @item --stabs
 @cindex stab
 @cindex .stab
 @item --stabs
 @cindex stab
 @cindex .stab
@@ -984,6 +1119,16 @@ section.  In most other file formats, debugging symbol-table entries are
 interleaved with linkage symbols, and are visible in the @samp{--syms}
 output.
 
 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
 @item -t
 @itemx --syms
 @cindex symbol table entries, printing
@@ -1008,6 +1153,11 @@ Print the version number of @code{objdump} and exit.
 Display all available header information, including the symbol table and
 relocation entries.  Using @samp{-x} is equivalent to specifying all of
 @samp{-a -f -h -r -t}.
 Display all available header information, including the symbol table and
 relocation entries.  Using @samp{-x} is equivalent to specifying all of
 @samp{-a -f -h -r -t}.
+
+@item -w
+@item --wide
+@cindex wide output, printing
+Format some lines for output devices that have more than 80 columns.
 @end table
 
 @node ranlib
 @end table
 
 @node ranlib
@@ -1031,7 +1181,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.
 
 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}.
 
 @code{ranlib} is completely equivalent to executing @samp{ar -s}.
 @xref{ar}.
 
@@ -1054,7 +1204,7 @@ size [ -A | -B | --format=@var{compatibility} ]
      @var{objfile}@dots{}
 @end smallexample
 
      @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.
 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.
@@ -1068,7 +1218,7 @@ The command line options have the following meanings:
 @itemx -B
 @itemx --format=@var{compatibility}
 @cindex @code{size} display format
 @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
 @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
@@ -1150,12 +1300,12 @@ strings [-afov] [-@var{min-len}] [-n @var{min-len}] [-t @var{radix}] [-]
         [--help] [--version] @var{file}@dots{}
 @end smallexample
 
         [--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
 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
 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.
 
 @code{strings} is mainly useful for determining the contents of non-text
 files.
@@ -1164,8 +1314,8 @@ files.
 @item -a
 @itemx --all
 @itemx -
 @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
 
 @item -f
 @itemx --print-file-name
@@ -1214,13 +1364,15 @@ strip [ -F @var{bfdname} | --target=@var{bfdname} | --target=@var{bfdname} ]
       [ -I @var{bfdname} | --input-target=@var{bfdname} ]
       [ -O @var{bfdname} | --output-target=@var{bfdname} ]
       [ -s | --strip-all ] [ -S | -g | --strip-debug ]
       [ -I @var{bfdname} | --input-target=@var{bfdname} ]
       [ -O @var{bfdname} | --output-target=@var{bfdname} ]
       [ -s | --strip-all ] [ -S | -g | --strip-debug ]
+      [ -K @var{symbolname} | --keep-symbol=@var{symbolname} ]
+      [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ]
       [ -x | --discard-all ] [ -X | --discard-locals ]
       [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
       [ -v | --verbose ]  [ -V | --version ]  [ --help ]
       @var{objfile}@dots{}
 @end smallexample
 
       [ -x | --discard-all ] [ -X | --discard-locals ]
       [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
       [ -v | --verbose ]  [ -V | --version ]  [ --help ]
       @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.
 
 @var{objfile}.  The list of object files may include archives.
 At least one object file must be given.
 
@@ -1263,6 +1415,20 @@ Remove all symbols.
 @itemx --strip-debug
 Remove debugging symbols only.
 
 @itemx --strip-debug
 Remove debugging symbols only.
 
+@item --strip-unneeded
+Remove all symbols that are not needed for relocation processing.
+
+@item -K @var{symbolname}
+@itemx --keep-symbol=@var{symbolname}
+Keep only symbol @var{symbolname} from the source file.  This option may
+be given more than once.
+
+@item -N @var{symbolname}
+@itemx --strip-symbol=@var{symbolname}
+Remove symbol @var{symbolname} from the source file. This option may be
+given more than once, and may be combined with strip options other than
+@code{-K}.
+
 @item -x
 @itemx --discard-all
 Remove non-global symbols.
 @item -x
 @itemx --discard-all
 Remove non-global symbols.
@@ -1332,13 +1498,13 @@ Do not remove the initial underscore.
 
 @item -s @var{format}
 @itemx --format=@var{format}
 
 @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
 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
 @item lucid
 the one used by the Lucid compiler
 @item arm
@@ -1478,7 +1644,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
 
 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).
 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.03634 seconds and 4 git commands to generate.