This is binutils.info, produced by makeinfo version 4.8 from
binutils.texi.
-START-INFO-DIR-ENTRY
-* Binutils: (binutils). The GNU binary utilities.
-* ar: (binutils)ar. Create, modify, and extract from archives
-* nm: (binutils)nm. List symbols from object files
-* objcopy: (binutils)objcopy. Copy and translate object files
-* objdump: (binutils)objdump. Display information from object files
-* ranlib: (binutils)ranlib. Generate index to archive contents
-* readelf: (binutils)readelf. Display the contents of ELF format files.
-* size: (binutils)size. List section sizes and total size
-* strings: (binutils)strings. List printable strings from files
-* strip: (binutils)strip. Discard symbols
-* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols
-* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt
-* addr2line: (binutils)addr2line. Convert addresses to file and line
-* nlmconv: (binutils)nlmconv. Converts object code into an NLM
-* windres: (binutils)windres. Manipulate Windows resources
-* windmc: (binutils)windmc. Generator for Windows message resources
-* dlltool: (binutils)dlltool. Create files needed to build and use DLLs
-END-INFO-DIR-ENTRY
-
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
-Foundation, Inc.
+2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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
+under the terms of the GNU Free Documentation License, Version 1.3 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".
+INFO-DIR-SECTION Software development
+START-INFO-DIR-ENTRY
+* Binutils: (binutils). The GNU binary utilities.
+END-INFO-DIR-ENTRY
+
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* addr2line: (binutils)addr2line. Convert addresses to file and line.
+* ar: (binutils)ar. Create, modify, and extract from archives.
+* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols.
+* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt.
+* dlltool: (binutils)dlltool. Create files needed to build and use DLLs.
+* nlmconv: (binutils)nlmconv. Converts object code into an NLM.
+* nm: (binutils)nm. List symbols from object files.
+* objcopy: (binutils)objcopy. Copy and translate object files.
+* objdump: (binutils)objdump. Display information from object files.
+* ranlib: (binutils)ranlib. Generate index to archive contents.
+* readelf: (binutils)readelf. Display the contents of ELF format files.
+* size: (binutils)size. List section sizes and total size.
+* strings: (binutils)strings. List printable strings from files.
+* strip: (binutils)strip. Discard symbols.
+* windmc: (binutils)windmc. Generator for Windows message resources.
+* windres: (binutils)windres. Manipulate Windows resources.
+END-INFO-DIR-ENTRY
+
\1f
File: binutils.info, Node: Top, Next: ar, Up: (dir)
************
This brief manual contains documentation for the GNU binary utilities
-(GNU Binutils) version 2.17.90:
+(GNU Binutils) version 2.20:
This document is distributed under the terms of the GNU Free
-Documentation License. A copy of the license is included in the
-section entitled "GNU Free Documentation License".
+Documentation License version 1.3. A copy of the license is included
+in the section entitled "GNU Free Documentation License".
* Menu:
* 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.
+* readelf:: Display the contents of ELF format files
* size:: List section sizes and total size
* strings:: List printable strings from files
* strip:: Discard symbols
* windmc:: Generator for Windows message resources
* dlltool:: Create files needed to build and use DLLs
* Common Options:: Command-line options for all utilities
-* Selecting The Target System:: How these utilities determine the target.
+* Selecting the Target System:: How these utilities determine the target
* Reporting Bugs:: Reporting Bugs
* GNU Free Documentation License:: GNU Free Documentation License
-* Binutils Index:: Binutils Index
+* Binutils Index:: Binutils Index
\1f
File: binutils.info, Node: ar, Next: nm, Prev: Top, Up: Top
1 ar
****
- ar [-]P[MOD [RELPOS] [COUNT]] ARCHIVE [MEMBER...]
+ ar [`--plugin' NAME] [-]P[MOD [RELPOS] [COUNT]] ARCHIVE [MEMBER...]
ar -M [ <mri-script ]
The GNU `ar' program creates, modifies, and extracts from archives.
If an archive lacks the table, another form of `ar' called `ranlib' can
be used to add just the table.
+ GNU `ar' can optionally create a _thin_ archive, which contains a
+symbol index and references to the original copies of the member files
+of the archives. Such an archive is useful for building libraries for
+use within a local build, where the relocatable objects are expected to
+remain available, and copying the contents of each object would only
+waste time and space. Thin archives are also _flattened_, so that
+adding one or more archives to a thin archive will add the elements of
+the nested archive individually. The paths to the elements of the
+archive are stored relative to the archive itself.
+
GNU `ar' is designed to be compatible with two different facilities.
You can control its activity using command-line options, like the
different varieties of `ar' on Unix systems; or, if you specify the
1.1 Controlling `ar' on the Command Line
========================================
- ar [`-X32_64'] [`-']P[MOD [RELPOS] [COUNT]] ARCHIVE [MEMBER...]
+ ar [`--plugin' NAME] [`-X32_64'] [`-']P[MOD [RELPOS] [COUNT]] ARCHIVE [MEMBER...]
When you use `ar' in the Unix style, `ar' insists on at least two
arguments to execute: one keyletter specifying the _operation_
If you do not specify a MEMBER, all files in the archive are
extracted.
+ Files cannot be extracted from a thin archive.
+
A number of modifiers (MOD) may immediately follow the P keyletter,
to specify variations on an operation's behavior:
issued unless you specify in advance that you expect to create it,
by using this modifier.
+`D'
+ Operate in _deterministic_ mode. When adding files and the archive
+ index use zero for UIDs, GIDs, timestamps, and use consistent file
+ modes for all files. When this option is used, if `ar' is used
+ with identical options and identical input files, multiple runs
+ will create identical output files regardless of the input files'
+ owners, groups, file modes, or modification times.
+
`f'
Truncate names in the archive. GNU `ar' will normally permit file
names of any length. This will cause it to create archives which
table, you must omit the `S' modifier on the last execution of
`ar', or you must run `ranlib' on the archive.
+`T'
+ Make the specified ARCHIVE a _thin_ archive. If it already exists
+ and is a regular archive, the existing members must be present in
+ the same directory as ARCHIVE.
+
`u'
Normally, `ar r'... inserts all files listed into the archive. If
you would like to insert _only_ those of the files you list that
particular, it does not support `-X32' which is the default for AIX
`ar'.
+ The optional command line switch `--plugin' NAME causes `ar' to load
+the plugin called NAME which adds support for more file formats. This
+option is only available if the toolchain has been built with plugin
+support enabled.
+
\1f
File: binutils.info, Node: ar scripts, Prev: ar cmdline, Up: ar
2 nm
****
- nm [`-a'|`--debug-syms'] [`-g'|`--extern-only']
+ nm [`-a'|`--debug-syms']
+ [`-g'|`--extern-only'][`--plugin' NAME]
[`-B'] [`-C'|`--demangle'[=STYLE]] [`-D'|`--dynamic']
[`-S'|`--print-size'] [`-s'|`--print-armap']
[`-A'|`-o'|`--print-file-name'][`--special-syms']
further linking.
`B'
+ `b'
The symbol is in the uninitialized data section (known as
BSS).
in *Note Linker options: (ld.info)Options.
`D'
+ `d'
The symbol is in the initialized data section.
`G'
+ `g'
The symbol is in an initialized data section for small
objects. Some object file formats permit more efficient
access to small data objects, such as a global int variable
as opposed to a large global array.
- `I'
- The symbol is an indirect reference to another symbol. This
- is a GNU extension to the a.out object file format which is
- rarely used.
+ `i'
+ For PE format files this indicates that the symbol is in a
+ section specific to the implementation of DLLs. For ELF
+ format files this indicates that the symbol is an indirect
+ function. This is a GNU extension to the standard set of ELF
+ symbol types. It indicates a symbol which if referenced by a
+ relocation does not evaluate to its address, but instead must
+ be invoked at runtime. The runtime execution will then
+ return the value to be used in the relocation.
`N'
The symbol is a debugging symbol.
+ `p'
+ The symbols is in a stack unwind section.
+
`R'
+ `r'
The symbol is in a read only data section.
`S'
+ `s'
The symbol is in an uninitialized data section for small
objects.
`T'
+ `t'
The symbol is in the text (code) section.
`U'
The symbol is undefined.
+ `u'
+ The symbol is a unique global symbol. This is a GNU
+ extension to the standard set of ELF symbol bindings. For
+ such a symbol the dynamic linker will make sure that in the
+ entire process there is just one symbol with this name and
+ type in use.
+
`V'
+ `v'
The symbol is a weak object. When a weak defined symbol is
linked with a normal defined symbol, the normal defined
symbol is used with no error. When a weak undefined symbol
is linked and the symbol is not defined, the value of the
- weak symbol becomes zero with no error.
+ weak symbol becomes zero with no error. On some systems,
+ uppercase indicates that a default value has been specified.
`W'
+ `w'
The symbol is a weak symbol that has not been specifically
tagged as a weak object symbol. When a weak defined symbol
is linked with a normal defined symbol, the normal defined
`--extern-only'
Display only external symbols.
+`--plugin NAME'
+ Load the plugin called NAME to add support for extra target types.
+ This option is only available if the toolchain has been built
+ with plugin support enabled.
+
`-l'
`--line-numbers'
For each symbol, use debugging information to try to find a
`-S'
`--print-size'
- Print size, not the value, of defined symbols for the `bsd' output
- format.
+ Print both value and size of defined symbols for the `bsd' output
+ style. This option has no effect for object formats that do not
+ record symbol sizes, unless `--size-sort' is also used in which
+ case a calculated size is displayed.
`-s'
`--print-armap'
[`--set-section-flags' SECTION=FLAGS]
[`--add-section' SECTIONNAME=FILENAME]
[`--rename-section' OLDNAME=NEWNAME[,FLAGS]]
+ [`--long-section-names' {enable,disable,keep}]
[`--change-leading-char'] [`--remove-leading-char']
[`--reverse-bytes='NUM]
[`--srec-len='IVAL] [`--srec-forceS3']
[`--readonly-text']
[`--pure']
[`--impure']
+ [`--file-alignment='NUM]
+ [`--heap='SIZE]
+ [`--image-base='ADDRESS]
+ [`--section-alignment='NUM]
+ [`--stack='SIZE]
+ [`--subsystem='WHICH:MAJOR.MINOR]
[`-v'|`--verbose']
[`-V'|`--version']
[`--help'] [`--info']
--rename-section .data=.rodata,alloc,load,readonly,data,contents \
<input_binary_file> <output_object_file>
+`--long-section-names {enable,disable,keep}'
+ Controls the handling of long section names when processing `COFF'
+ and `PE-COFF' object formats. The default behaviour, `keep', is
+ to preserve long section names if any are present in the input
+ file. The `enable' and `disable' options forcibly enable or
+ disable the use of long section names in the output object; when
+ `disable' is in effect, any long section names in the input object
+ will be truncated. The `enable' option will only emit long
+ section names if any are present in the inputs; this is mostly the
+ same as `keep', but it is left undefined whether the `enable'
+ option might force the creation of an empty string table in the
+ output file.
+
`--change-leading-char'
Some object file formats use special characters at the start of
symbols. The most common such character is underscore, which
4. Run `objcopy --add-gnu-debuglink=foo.dbg foo' to add a link
to the debugging info into the stripped executable.
- Note - the choice of `.dbg' as an extension for the debug info
- file is arbitrary. Also the `--only-keep-debug' step is optional.
- You could instead do this:
+ Note--the choice of `.dbg' as an extension for the debug info file
+ is arbitrary. Also the `--only-keep-debug' step is optional. You
+ could instead do this:
1. Link the executable as normal.
full executable. It does not have to be a file created by the
`--only-keep-debug' switch.
- Note - this switch is only intended for use on fully linked files.
+ Note--this switch is only intended for use on fully linked files.
It does not make sense to use it on object files where the
debugging information may be incomplete. Besides the
gnu_debuglink feature currently only supports the presence of one
filename containing debugging information, not multiple filenames
on a one-per-object-file basis.
+`--file-alignment NUM'
+ Specify the file alignment. Sections in the file will always
+ begin at file offsets which are multiples of this number. This
+ defaults to 512. [This option is specific to PE targets.]
+
+`--heap RESERVE'
+`--heap RESERVE,COMMIT'
+ Specify the number of bytes of memory to reserve (and optionally
+ commit) to be used as heap for this program. [This option is
+ specific to PE targets.]
+
+`--image-base VALUE'
+ Use VALUE as the base address of your program or dll. This is the
+ lowest memory location that will be used when your program or dll
+ is loaded. To reduce the need to relocate and improve performance
+ of your dlls, each should have a unique base address and not
+ overlap any other dlls. The default is 0x400000 for executables,
+ and 0x10000000 for dlls. [This option is specific to PE targets.]
+
+`--section-alignment NUM'
+ Sets the section alignment. Sections in memory will always begin
+ at addresses which are a multiple of this number. Defaults to
+ 0x1000. [This option is specific to PE targets.]
+
+`--stack RESERVE'
+`--stack RESERVE,COMMIT'
+ Specify the number of bytes of memory to reserve (and optionally
+ commit) to be used as stack for this program. [This option is
+ specific to PE targets.]
+
+`--subsystem WHICH'
+`--subsystem WHICH:MAJOR'
+`--subsystem WHICH:MAJOR.MINOR'
+ Specifies the subsystem under which your program will execute. The
+ legal values for WHICH are `native', `windows', `console',
+ `posix', `efi-app', `efi-bsd', `efi-rtd', `sal-rtd', and `xbox'.
+ You may optionally set the subsystem version also. Numeric values
+ are also accepted for WHICH. [This option is specific to PE
+ targets.]
+
`--extract-symbol'
Keep the file's section flags and symbols but remove all section
data. Specifically, the option:
- * sets the virtual and load addresses of every section to zero;
-
* removes the contents of all sections;
* sets the size of every section to zero; and
[`-z'|`--disassemble-zeroes']
[`-EB'|`-EL'|`--endian='{big | little }]
[`-f'|`--file-headers']
+ [`-F'|`--file-offsets']
[`--file-start-context']
[`-g'|`--debugging']
[`-e'|`--debugging-tags']
[`-r'|`--reloc']
[`-R'|`--dynamic-reloc']
[`-s'|`--full-contents']
- [`-W'|`--dwarf']
+ [`-W[lLiaprmfFsoR]'|
+ `--dwarf'[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]]
[`-G'|`--stabs']
[`-t'|`--syms']
[`-T'|`--dynamic-syms']
[`--[no-]show-raw-insn']
[`--adjust-vma='OFFSET]
[`--special-syms']
+ [`--prefix='PREFIX]
+ [`--prefix-strip='LEVEL]
+ [`--insn-width='WIDTH]
[`-V'|`--version']
[`-H'|`--help']
OBJFILE...
`-g'
`--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. Some other types are supported by `readelf -w'.
- *Note readelf::.
+ Display debugging information. This attempts to parse STABS and
+ IEEE debugging format information stored in the file and print it
+ out using a C like syntax. If neither of these formats are found
+ this option falls back on the `-W' option to print any DWARF
+ information in the file.
`-e'
`--debugging-tags'
Like `-d', but disassemble the contents of all sections, not just
those expected to contain instructions.
+ If the target is an ARM architecture this switch also has the
+ effect of forcing the disassembler to decode pieces of data found
+ in code sections as if they were instructions.
+
`--prefix-addresses'
When disassembling, print the complete address on each line. This
is the older disassembly format.
Display summary information from the overall header of each of the
OBJFILE files.
+`-F'
+`--file-offsets'
+ When disassembling sections, whenever a symbol is displayed, also
+ display the file offset of the region of data that is about to be
+ dumped. If zeroes are being skipped, then when disassembly
+ resumes, tell the user how many zeroes were skipped and the file
+ offset of the location from where the disassembly resumes. When
+ dumping sections, display the file offset of the location from
+ where the dump starts.
+
`--file-start-context'
Specify that when displaying interlisted source code/disassembly
(assumes `-S') from a file that has not yet been displayed, extend
describe architecture information, such as S-records. You can
list the available architectures with the `-i' option.
+ If the target is an ARM architecture then this switch has an
+ additional effect. It restricts the disassembly to only those
+ instructions supported by the architecture specified by MACHINE.
+ If it is necessary to use this switch because the input file does
+ not contain any architecture information, but it is also desired to
+ disassemble all the instructions use `-marm'.
+
`-M OPTIONS'
`--disassembler-options=OPTIONS'
Pass target specific information to the disassembler. Only
the following may be specified as a comma separated string.
`x86-64', `i386' and `i8086' select disassembly for the given
architecture. `intel' and `att' select between intel syntax mode
- and AT&T syntax mode. `addr64', `addr32', `addr16', `data32' and
- `data16' specify the default address size and operand size. These
- four options will be overridden if `x86-64', `i386' or `i8086'
- appear later in the option string. Lastly, `suffix', when in AT&T
- mode, instructs the disassembler to print a mnemonic suffix even
- when the suffix could be inferred by the operands.
-
- For PPC, `booke', `booke32' and `booke64' select disassembly of
- BookE instructions. `32' and `64' select PowerPC and PowerPC64
+ and AT&T syntax mode. `intel-mnemonic' and `att-mnemonic' select
+ between intel mnemonic mode and AT&T mnemonic mode.
+ `intel-mnemonic' implies `intel' and `att-mnemonic' implies `att'.
+ `addr64', `addr32', `addr16', `data32' and `data16' specify the
+ default address size and operand size. These four options will be
+ overridden if `x86-64', `i386' or `i8086' appear later in the
+ option string. Lastly, `suffix', when in AT&T mode, instructs the
+ disassembler to print a mnemonic suffix even when the suffix could
+ be inferred by the operands.
+
+ For PowerPC, `booke' controls the disassembly of BookE
+ instructions. `32' and `64' select PowerPC and PowerPC64
disassembly, respectively. `e300' selects disassembly for the
e300 family. `440' selects disassembly for the PowerPC 440.
+ `ppcps' selects disassembly for the paired single instructions of
+ the PPC750CL.
For MIPS, this option controls the printing of instruction mnemonic
names and register names in disassembled instructions. Multiple
`--dynamic-reloc'
Print the dynamic relocation entries of the file. This is only
meaningful for dynamic objects, such as certain types of shared
- libraries.
+ libraries. As for `-r', if used with `-d' or `-D', the
+ relocations are printed interspersed with the disassembly.
`-s'
`--full-contents'
Display source code intermixed with disassembly, if possible.
Implies `-d'.
+`--prefix=PREFIX'
+ Specify PREFIX to add to the absolute paths when used with `-S'.
+
+`--prefix-strip=LEVEL'
+ Indicate how many initial directory names to strip off the
+ hardwired absolute paths. It has no effect without
+ `--prefix='PREFIX.
+
`--show-raw-insn'
When disassembling instructions, print the instruction in hex as
well as in symbolic form. This is the default except when
When disassembling instructions, do not print the instruction
bytes. This is the default when `--prefix-addresses' is used.
-`-W'
-`--dwarf'
- Displays the contents of the DWARF debug sections in the file, if
- any are present.
+`--insn-width=WIDTH'
+ Display WIDTH bytes on a single line when disassembling
+ instructions.
+
+`-W[lLiaprmfFsoR]'
+`--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]'
+ Displays the contents of the debug sections in the file, if any are
+ present. If one of the optional letters or words follows the
+ switch then only data found in those specific sections will be
+ dumped.
`-G'
`--stabs'
`-t'
`--syms'
Print the symbol table entries of the file. This is similar to
- the information provided by the `nm' program.
+ the information provided by the `nm' program, although the display
+ format is different. The format of the output depends upon the
+ format of the file being dumped, but there are two main types.
+ One looks like this:
+
+ [ 4](sec 3)(fl 0x00)(ty 0)(scl 3) (nx 1) 0x00000000 .bss
+ [ 6](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000 fred
+
+ where the number inside the square brackets is the number of the
+ entry in the symbol table, the SEC number is the section number,
+ the FL value are the symbol's flag bits, the TY number is the
+ symbol's type, the SCL number is the symbol's storage class and
+ the NX value is the number of auxilary entries associated with the
+ symbol. The last two fields are the symbol's value and its name.
+
+ The other common output format, usually seen with ELF based files,
+ looks like this:
+
+ 00000000 l d .bss 00000000 .bss
+ 00000000 g .text 00000000 fred
+
+ Here the first number is the symbol's value (sometimes refered to
+ as its address). The next field is actually a set of characters
+ and spaces indicating the flag bits that are set on the symbol.
+ These characters are described below. Next is the section with
+ which the symbol is associated or _*ABS*_ if the section is
+ absolute (ie not connected with any section), or _*UND*_ if the
+ section is referenced in the file being dumped, but not defined
+ there.
+
+ After the section name comes another field, a number, which for
+ common symbols is the alignment and for other symbol is the size.
+ Finally the symbol's name is displayed.
+
+ The flag characters are divided into 7 groups as follows:
+ `l'
+ `g'
+ `u'
+ `!'
+ The symbol is a local (l), global (g), unique global (u),
+ neither global nor local (a space) or both global and local
+ (!). A symbol can be neither local or global for a variety
+ of reasons, e.g., because it is used for debugging, but it is
+ probably an indication of a bug if it is ever both local and
+ global. Unique global symbols are a GNU extension to the
+ standard set of ELF symbol bindings. For such a symbol the
+ dynamic linker will make sure that in the entire process
+ there is just one symbol with this name and type in use.
+
+ `w'
+ The symbol is weak (w) or strong (a space).
+
+ `C'
+ The symbol denotes a constructor (C) or an ordinary symbol (a
+ space).
+
+ `W'
+ The symbol is a warning (W) or a normal symbol (a space). A
+ warning symbol's name is a message to be displayed if the
+ symbol following the warning symbol is ever referenced.
+
+ `I'
+
+ `i'
+ The symbol is an indirect reference to another symbol (I), a
+ function to be evaluated during reloc processing (i) or a
+ normal symbol (a space).
+
+ `d'
+ `D'
+ The symbol is a debugging symbol (d) or a dynamic symbol (D)
+ or a normal symbol (a space).
+
+ `F'
+
+ `f'
+
+ `O'
+ The symbol is the name of a function (F) or a file (f) or an
+ object (O) or just a normal symbol (a space).
`-T'
`--dynamic-syms'
5 ranlib
********
- ranlib [`-vV'] ARCHIVE
+ ranlib [`-vVt'] ARCHIVE
`ranlib' generates an index to the contents of an archive and stores
it in the archive. The index lists each symbol defined by a member of
`--version'
Show the version number of `ranlib'.
+`-t'
+ Update the timestamp of the symbol map of an archive.
+
\1f
File: binutils.info, Node: size, Next: strings, Prev: readelf, Up: Top
7 strings
*********
- strings [`-afov'] [`-'MIN-LEN]
+ strings [`-afovV'] [`-'MIN-LEN]
[`-n' MIN-LEN] [`--bytes='MIN-LEN]
[`-t' RADIX] [`--radix='RADIX]
[`-e' ENCODING] [`--encoding='ENCODING]
characters (ASCII, ISO 8859, etc., default), `S' =
single-8-bit-byte characters, `b' = 16-bit bigendian, `l' = 16-bit
littleendian, `B' = 32-bit bigendian, `L' = 32-bit littleendian.
- Useful for finding wide character strings.
+ Useful for finding wide character strings. (`l' and `b' apply to,
+ for example, Unicode UTF-16/UCS-2 encodings).
`-T BFDNAME'
`--target=BFDNAME'
format. *Note Target Selection::, for more information.
`-v'
+`-V'
`--version'
Print the program version number on the standard output and exit.
4. Run `objcopy --add-gnu-debuglink=foo.dbg foo' to add a link
to the debugging info into the stripped executable.
- Note - the choice of `.dbg' as an extension for the debug info
- file is arbitrary. Also the `--only-keep-debug' step is optional.
- You could instead do this:
+ Note--the choice of `.dbg' as an extension for the debug info file
+ is arbitrary. Also the `--only-keep-debug' step is optional. You
+ could instead do this:
1. Link the executable as normal.
- 2. Copy `foo' to `foo.full'
+ 2. Copy `foo' to `foo.full'
3. Run `strip --strip-debug foo'
4. Run `objcopy --add-gnu-debuglink=foo.full foo'
- ie the file pointed to by the `--add-gnu-debuglink' can be the
+ i.e., the file pointed to by the `--add-gnu-debuglink' can be the
full executable. It does not have to be a file created by the
`--only-keep-debug' switch.
- Note - this switch is only intended for use on fully linked files.
+ Note--this switch is only intended for use on fully linked files.
It does not make sense to use it on object files where the
debugging information may be incomplete. Besides the
gnu_debuglink feature currently only supports the presence of one
echo _Z1fv, | c++filt -n
- and will display "f()," ie the demangled name followed by a trailing
-comma. This behaviour is because when the names are read from the
-standard input it is expected that they might be part of an assembler
-source file where there might be extra, extraneous characters trailing
-after a mangled name. eg:
+ and will display "f(),", i.e., the demangled name followed by a
+trailing comma. This behaviour is because when the names are read from
+the standard input it is expected that they might be part of an
+assembler source file where there might be extra, extraneous characters
+trailing after a mangled name. For example:
.type _Z1fv, @function
underscore. Whether `c++filt' removes the underscore by default
is target dependent.
-`-j'
-`--java'
- Prints demangled names using Java syntax. The default is to use
- C++ syntax.
-
`-n'
`--no-strip-underscores'
Do not remove the initial underscore.
Attempt to demangle types as well as function names. This is
disabled by default since mangled types are normally only used
internally in the compiler, and they can be confused with
- non-mangled names. eg a function called "a" treated as a mangled
- type name would be demangled to "signed char".
+ non-mangled names. For example, a function called "a" treated as
+ a mangled type name would be demangled to "signed char".
`-i'
`--no-verbose'
`-v'
`--verbose'
- Enable verbose mode. This tells you what the preprocessor is if
- you didn't specify one.
+ Enable verbose mode.
`-V'
`--version'
- Prints the version number for `windres'.
+ Prints the version number for `windmc'.
`-x PATH'
`--xdgb PATH'
[`-e'|`--output-exp' EXPORTS-FILE-NAME]
[`-z'|`--output-def' DEF-FILE-NAME]
[`-l'|`--output-lib' LIBRARY-FILE-NAME]
+ [`-y'|`--output-delaylib' LIBRARY-FILE-NAME]
[`--export-all-symbols'] [`--no-export-all-symbols']
[`--exclude-symbols' LIST]
[`--no-default-excludes']
[`-U'|`--add-underscore'] [`--add-stdcall-underscore']
[`-k'|`--kill-at'] [`-A'|`--add-stdcall-alias']
[`-p'|`--ext-prefix-alias' PREFIX]
- [`-x'|`--no-idata4'] [`-c'|`--no-idata5'] [`-i'|`--interwork']
+ [`-x'|`--no-idata4'] [`-c'|`--no-idata5']
+ [`--use-nul-prefixed-import-tables']
+ [`-I'|`--identify' LIBRARY-FILE-NAME] [`--identify-strict']
+ [`-i'|`--interwork']
[`-n'|`--nodelete'] [`-t'|`--temp-prefix' PREFIX]
[`-v'|`--verbose']
[`-h'|`--help'] [`-V'|`--version']
`dlltool' when it is creating or reading in a `.def' file.
The third file needed for DLL creation is the library file that
-programs will link with in order to access the functions in the DLL.
-This file can be created by giving the `-l' option to dlltool when it
-is creating or reading in a `.def' file.
+programs will link with in order to access the functions in the DLL (an
+`import library'). This file can be created by giving the `-l' option
+to dlltool when it is creating or reading in a `.def' file.
+
+ If the `-y' option is specified, dlltool generates a delay-import
+library that can be used instead of the normal import library to allow
+a program to link to the dll only as soon as an imported function is
+called for the first time. The resulting executable will need to be
+linked to the static delayimp library containing __delayLoadHelper2(),
+which in turn will import LoadLibraryA and GetProcAddress from kernel32.
`dlltool' builds the library file by hand, but it builds the exports
file by creating temporary files containing assembler statements and
gcc dll.o exports.o -o dll.dll
gcc program.o dll.lib -o program
+ `dlltool' may also be used to query an existing import library to
+determine the name of the DLL to which it is associated. See the
+description of the `-I' or `--identify' option.
+
The command line options have the following meanings:
`-d FILENAME'
`--output-lib FILENAME'
Specifies the name of the library file to be created by dlltool.
+`-y FILENAME'
+`--output-delaylib FILENAME'
+ Specifies the name of the delay-import library file to be created
+ by dlltool.
+
`--export-all-symbols'
Treat all global and weak defined symbols found in the input object
files as symbols to be exported. There is a small list of symbols
files it should omit the `.idata4' section. This is for
compatibility with certain operating systems.
+`--use-nul-prefixed-import-tables'
+ Specifies that when `dlltool' is creating the exports and library
+ files it should prefix the `.idata4' and `.idata5' by zero an
+ element. This emulates old gnu import library generation of
+ `dlltool'. By default this option is turned off.
+
`-c'
`--no-idata5'
Specifies that when `dlltool' is creating the exports and library
files it should omit the `.idata5' section. This is for
compatibility with certain operating systems.
+`-I FILENAME'
+`--identify FILENAME'
+ Specifies that `dlltool' should inspect the import library
+ indicated by FILENAME and report, on `stdout', the name(s) of the
+ associated DLL(s). This can be performed in addition to any other
+ operations indicated by the other options and arguments.
+ `dlltool' fails if the import library does not exist or is not
+ actually an import library. See also `--identify-strict'.
+
+`--identify-strict'
+ Modifies the behavior of the `--identify' option, such that an
+ error is reported if FILENAME is associated with more than one DLL.
+
`-i'
`--interwork'
Specifies that `dlltool' should mark the objects in the library
[`-A'|`--arch-specific']
[`-D'|`--use-dynamic']
[`-x' <number or name>|`--hex-dump='<number or name>]
- [`-w[liaprmfFsoR]'|
- `--debug-dump'[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]]
+ [`-p' <number or name>|`--string-dump='<number or name>]
+ [`-R' <number or name>|`--relocated-dump='<number or name>]
+ [`-c'|`--archive-index']
+ [`-w[lLiaprmfFsoR]'|
+ `--debug-dump'[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]]
[`-I'|`-histogram']
[`-v'|`--version']
[`-W'|`--wide']
`-x <number or name>'
`--hex-dump=<number or name>'
Displays the contents of the indicated section as a hexadecimal
- dump. A number identifies a particular section by index in the
+ bytes. A number identifies a particular section by index in the
+ section table; any other string identifies all sections with that
+ name in the object file.
+
+`-R <number or name>'
+`--relocated-dump=<number or name>'
+ Displays the contents of the indicated section as a hexadecimal
+ bytes. A number identifies a particular section by index in the
+ section table; any other string identifies all sections with that
+ name in the object file. The contents of the section will be
+ relocated before they are displayed.
+
+`-p <number or name>'
+`--string-dump=<number or name>'
+ Displays the contents of the indicated section as printable
+ strings. A number identifies a particular section by index in the
section table; any other string identifies all sections with that
name in the object file.
-`-w[liaprmfFsoR]'
-`--debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]'
+`-c'
+`--archive-index'
+ Displays the file symbol index infomation contained in the header
+ part of binary archives. Performs the same function as the `t'
+ command to `ar', but without using the BFD library. *Note ar::.
+
+`-w[lLiaprmfFsoR]'
+`--debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges]'
Displays the contents of the debug sections in the file, if any are
present. If one of the optional letters or words follows the
switch then only data found in those specific sections will be
dumped.
+ Note: the `=decodedline' option will display the interpreted
+ contents of a .debug_line section whereas the `=rawline' option
+ dumps the contents in a raw format.
+
`-I'
`--histogram'
Display a histogram of bucket list lengths when displaying the
\1f
-File: binutils.info, Node: Common Options, Next: Selecting The Target System, Prev: dlltool, Up: Top
+File: binutils.info, Node: Common Options, Next: Selecting the Target System, Prev: dlltool, Up: Top
16 Common Options
*****************
\1f
-File: binutils.info, Node: Selecting The Target System, Next: Reporting Bugs, Prev: Common Options, Up: Top
+File: binutils.info, Node: Selecting the Target System, Next: Reporting Bugs, Prev: Common Options, Up: Top
17 Selecting the Target System
******************************
* Architecture Selection::
\1f
-File: binutils.info, Node: Target Selection, Next: Architecture Selection, Up: Selecting The Target System
+File: binutils.info, Node: Target Selection, Next: Architecture Selection, Up: Selecting the Target System
17.1 Target Selection
=====================
3. deduced from the input file
\1f
-File: binutils.info, Node: Architecture Selection, Prev: Target Selection, Up: Selecting The Target System
+File: binutils.info, Node: Architecture Selection, Prev: Target Selection, Up: Selecting the Target System
17.2 Architecture Selection
===========================
1. deduced from the input file
\1f
-File: binutils.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Selecting The Target System, Up: Top
+File: binutils.info, Node: Reporting Bugs, Next: GNU Free Documentation License, Prev: Selecting the Target System, Up: Top
18 Reporting Bugs
*****************
Appendix A GNU Free Documentation License
*****************************************
- Version 1.1, March 2000
+ Version 1.3, 3 November 2008
- Copyright (C) 2000, 2003 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ `http://fsf.org/'
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
-
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
- written document "free" in the sense of freedom: to assure everyone
- the effective freedom to copy and redistribute it, with or without
- modifying it, either commercially or noncommercially. Secondarily,
- this License preserves for the author and publisher a way to get
- credit for their work, while not being considered responsible for
- modifications made by others.
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or
+ noncommercially. Secondarily, this License preserves for the
+ author and publisher a way to get credit for their work, while not
+ being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.
We recommend this License principally for works whose purpose is
instruction or reference.
-
1. APPLICABILITY AND DEFINITIONS
- This License applies to any manual or other work that contains a
- notice placed by the copyright holder saying it can be distributed
- under the terms of this License. The "Document", below, refers to
- any such manual or work. Any member of the public is a licensee,
- and is addressed as "you."
+ This License applies to any manual or other work, in any medium,
+ that contains a notice placed by the copyright holder saying it
+ can be distributed under the terms of this License. Such a notice
+ grants a world-wide, royalty-free license, unlimited in duration,
+ to use that work under the conditions stated herein. The
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You
+ accept the license if you copy, modify or distribute the work in a
+ way requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A "Secondary Section" is a named appendix or a front-matter
- section of the Document that deals exclusively with the
- relationship of the publishers or authors of the Document to the
- Document's overall subject (or to related matters) and contains
- nothing that could fall directly within that overall subject.
- (For example, if the Document is in part a textbook of
- mathematics, a Secondary Section may not explain any mathematics.)
- The relationship could be a matter of historical connection with
- the subject or with related matters, or of legal, commercial,
- philosophical, ethical or political position regarding them.
+ A "Secondary Section" is a named appendix or a front-matter section
+ of the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could
+ fall directly within that overall subject. (Thus, if the Document
+ is in part a textbook of mathematics, a Secondary Section may not
+ explain any mathematics.) The relationship could be a matter of
+ historical connection with the subject or with related matters, or
+ of legal, commercial, philosophical, ethical or political position
+ regarding them.
The "Invariant Sections" are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in
the notice that says that the Document is released under this
- License.
+ License. If a section does not fit the above definition of
+ Secondary then it is not allowed to be designated as Invariant.
+ The Document may contain zero Invariant Sections. If the Document
+ does not identify any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
- that says that the Document is released under this License.
+ that says that the Document is released under this License. A
+ Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+ be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
- general public, whose contents can be viewed and edited directly
- and straightforwardly with generic text editors or (for images
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images
composed of pixels) generic paint programs or (for drawings) some
widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of
formats suitable for input to text formatters. A copy made in an
- otherwise Transparent file format whose markup has been designed
- to thwart or discourage subsequent modification by readers is not
- Transparent. A copy that is not "Transparent" is called "Opaque."
+ otherwise Transparent file format whose markup, or absence of
+ markup, has been arranged to thwart or discourage subsequent
+ modification by readers is not Transparent. An image format is
+ not Transparent if used for any substantial amount of text. A
+ copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available DTD, and
- standard-conforming simple HTML designed for human modification.
- Opaque formats include PostScript, PDF, proprietary formats that
- can be read and edited only by proprietary word processors, SGML
- or XML for which the DTD and/or processing tools are not generally
- available, and the machine-generated HTML produced by some word
- processors for output purposes only.
+ standard-conforming simple HTML, PostScript or PDF designed for
+ human modification. Examples of transparent image formats include
+ PNG, XCF and JPG. Opaque formats include proprietary formats that
+ can be read and edited only by proprietary word processors, SGML or
+ XML for which the DTD and/or processing tools are not generally
+ available, and the machine-generated HTML, PostScript or PDF
+ produced by some word processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
+ The "publisher" means any person or entity that distributes copies
+ of the Document to the public.
+
+ A section "Entitled XYZ" means a named subunit of the Document
+ whose title either is precisely XYZ or contains XYZ in parentheses
+ following text that translates XYZ in another language. (Here XYZ
+ stands for a specific section name mentioned below, such as
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
+ to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice
+ which states that this License applies to the Document. These
+ Warranty Disclaimers are considered to be included by reference in
+ this License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and
+ has no effect on the meaning of this License.
+
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
3. COPYING IN QUANTITY
- If you publish printed copies of the Document numbering more than
- 100, and the Document's license notice requires Cover Texts, you
- must enclose the copies in covers that carry, clearly and legibly,
- all these Cover Texts: Front-Cover Texts on the front cover, and
+ If you publish printed copies (or copies in media that commonly
+ have printed covers) of the Document, numbering more than 100, and
+ the Document's license notice requires Cover Texts, you must
+ enclose the copies in covers that carry, clearly and legibly, all
+ these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
front cover must present the full title with all words of the
If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a
machine-readable Transparent copy along with each Opaque copy, or
- state in or with each Opaque copy a publicly-accessible
- computer-network location containing a complete Transparent copy
- of the Document, free of added material, which the general
- network-using public has access to download anonymously at no
- charge using public-standard network protocols. If you use the
+ state in or with each Opaque copy a computer-network location from
+ which the general network-using public has access to download
+ using public-standard network protocols a complete Transparent
+ copy of the Document, free of added material. If you use the
latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that
this Transparent copy will remain thus accessible at the stated
whoever possesses a copy of it. In addition, you must do these
things in the Modified Version:
- A. Use in the Title Page (and on the covers, if any) a title
- distinct from that of the Document, and from those of previous
- versions (which should, if there were any, be listed in the
- History section of the Document). You may use the same title
- as a previous version if the original publisher of that version
- gives permission.
- B. List on the Title Page, as authors, one or more persons or
- entities responsible for authorship of the modifications in the
- Modified Version, together with at least five of the principal
- authors of the Document (all of its principal authors, if it
- has less than five).
- C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
- D. Preserve all the copyright notices of the Document.
- E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
- F. Include, immediately after the copyright notices, a license
- notice giving the public permission to use the Modified Version
- under the terms of this License, in the form shown in the
- Addendum below.
- G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document's
- license notice.
- H. Include an unaltered copy of this License.
- I. Preserve the section entitled "History", and its title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page.
- If there is no section entitled "History" in the Document,
- create one stating the title, year, authors, and publisher of
- the Document as given on its Title Page, then add an item
- describing the Modified Version as stated in the previous
- sentence.
- J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and
- likewise the network locations given in the Document for
- previous versions it was based on. These may be placed in the
- "History" section. You may omit a network location for a work
- that was published at least four years before the Document
- itself, or if the original publisher of the version it refers
- to gives permission.
- K. In any section entitled "Acknowledgements" or "Dedications",
- preserve the section's title, and preserve in the section all the
- substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
- L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
- M. Delete any section entitled "Endorsements." Such a section
- may not be included in the Modified Version.
- N. Do not retitle any existing section as "Endorsements" or to
- conflict in title with any Invariant Section.
+ A. Use in the Title Page (and on the covers, if any) a title
+ distinct from that of the Document, and from those of
+ previous versions (which should, if there were any, be listed
+ in the History section of the Document). You may use the
+ same title as a previous version if the original publisher of
+ that version gives permission.
+
+ B. List on the Title Page, as authors, one or more persons or
+ entities responsible for authorship of the modifications in
+ the Modified Version, together with at least five of the
+ principal authors of the Document (all of its principal
+ authors, if it has fewer than five), unless they release you
+ from this requirement.
+
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+
+ D. Preserve all the copyright notices of the Document.
+
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+
+ F. Include, immediately after the copyright notices, a license
+ notice giving the public permission to use the Modified
+ Version under the terms of this License, in the form shown in
+ the Addendum below.
+
+ G. Preserve in that license notice the full lists of Invariant
+ Sections and required Cover Texts given in the Document's
+ license notice.
+
+ H. Include an unaltered copy of this License.
+
+ I. Preserve the section Entitled "History", Preserve its Title,
+ and add to it an item stating at least the title, year, new
+ authors, and publisher of the Modified Version as given on
+ the Title Page. If there is no section Entitled "History" in
+ the Document, create one stating the title, year, authors,
+ and publisher of the Document as given on its Title Page,
+ then add an item describing the Modified Version as stated in
+ the previous sentence.
+
+ J. Preserve the network location, if any, given in the Document
+ for public access to a Transparent copy of the Document, and
+ likewise the network locations given in the Document for
+ previous versions it was based on. These may be placed in
+ the "History" section. You may omit a network location for a
+ work that was published at least four years before the
+ Document itself, or if the original publisher of the version
+ it refers to gives permission.
+
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the
+ section all the substance and tone of each of the contributor
+ acknowledgements and/or dedications given therein.
+
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section
+ titles.
+
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+
+ N. Do not retitle any existing section to be Entitled
+ "Endorsements" or to conflict in title with any Invariant
+ Section.
+
+ O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
Version's license notice. These titles must be distinct from any
other section titles.
- You may add a section entitled "Endorsements", provided it contains
+ You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
- parties-for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition
- of a standard.
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end
modified versions, provided that you include in the combination
all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
- combined work in its license notice.
+ combined work in its license notice, and that you preserve all
+ their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
the list of Invariant Sections in the license notice of the
combined work.
- In the combination, you must combine any sections entitled
+ In the combination, you must combine any sections Entitled
"History" in the various original documents, forming one section
- entitled "History"; likewise combine any sections entitled
- "Acknowledgements", and any sections entitled "Dedications." You
- must delete all sections entitled "Endorsements."
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of
- a storage or distribution medium, does not as a whole count as a
- Modified Version of the Document, provided no compilation
- copyright is claimed for the compilation. Such a compilation is
- called an "aggregate", and this License does not apply to the
- other self-contained works thus compiled with the Document, on
- account of their being thus compiled, if they are not themselves
- derivative works of the Document.
+ a storage or distribution medium, is called an "aggregate" if the
+ copyright resulting from the compilation is not used to limit the
+ legal rights of the compilation's users beyond what the individual
+ works permit. When the Document is included in an aggregate, this
+ License does not apply to the other works in the aggregate which
+ are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
- copies of the Document, then if the Document is less than one
- quarter of the entire aggregate, the Document's Cover Texts may be
- placed on covers that surround only the Document within the
- aggregate. Otherwise they must appear on covers around the whole
- aggregate.
+ copies of the Document, then if the Document is less than one half
+ of the entire aggregate, the Document's Cover Texts may be placed
+ on covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic
+ form. Otherwise they must appear on printed covers that bracket
+ the whole aggregate.
8. TRANSLATION
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
- translation of this License provided that you also include the
- original English version of this License. In case of a
- disagreement between the translation and the original English
- version of this License, the original English version will prevail.
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also
+ include the original English version of this License and the
+ original versions of those notices and disclaimers. In case of a
+ disagreement between the translation and the original version of
+ this License or a notice or disclaimer, the original version will
+ prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
+ Preserve its Title (section 1) will typically require changing the
+ actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
- except as expressly provided for under this License. Any other
- attempt to copy, modify, sublicense or distribute the Document is
- void, and will automatically terminate your rights under this
- License. However, parties who have received copies, or rights,
- from you under this License will not have their licenses
- terminated so long as such parties remain in full compliance.
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void,
+ and will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your
+ license from a particular copyright holder is reinstated (a)
+ provisionally, unless and until the copyright holder explicitly
+ and finally terminates your license, and (b) permanently, if the
+ copyright holder fails to notify you of the violation by some
+ reasonable means prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from
+ that copyright holder, and you cure the violation prior to 30 days
+ after your receipt of the notice.
+
+ Termination of your rights under this section does not terminate
+ the licenses of parties who have received copies or rights from
+ you under this License. If your rights have been terminated and
+ not permanently reinstated, receipt of a copy of some or all of
+ the same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- http://www.gnu.org/copyleft/.
+ `http://www.gnu.org/copyleft/'.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
published (not as a draft) by the Free Software Foundation. If
the Document does not specify a version number of this License,
you may choose any version ever published (not as a draft) by the
- Free Software Foundation.
+ Free Software Foundation. If the Document specifies that a proxy
+ can decide which future versions of this License can be used, that
+ proxy's public statement of acceptance of a version permanently
+ authorizes you to choose that version for the Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server.
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
+ site means any set of copyrightable works thus published on the MMC
+ site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or
+ in part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this
+ License somewhere other than this MMC, and subsequently
+ incorporated in whole or in part into the MMC, (1) had no cover
+ texts or invariant sections, and (2) were thus incorporated prior
+ to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the
+ site under CC-BY-SA on the same site at any time before August 1,
+ 2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
the License in the document and put the following copyright and license
notices just after the title page:
- Copyright (C) YEAR YOUR NAME.
- 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 the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License."
+ Copyright (C) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. A copy of the license is included in the section entitled ``GNU
+ Free Documentation License''.
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with
+ the Front-Cover Texts being LIST, and with the Back-Cover Texts
+ being LIST.
- If you have no Invariant Sections, write "with no Invariant Sections"
-instead of saying which ones are invariant. If you have no Front-Cover
-Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being
-LIST"; likewise for Back-Cover Texts.
+ If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
\0\b[index\0\b]
* Menu:
-* .stab: objdump. (line 324)
+* .stab: objdump. (line 370)
+* Add prefix to absolute paths: objdump. (line 341)
* addr2line: addr2line. (line 6)
* address to file name and line number: addr2line. (line 6)
-* all header information, object file: objdump. (line 364)
+* all header information, object file: objdump. (line 489)
* ar: ar. (line 6)
-* ar compatibility: ar. (line 40)
-* architecture: objdump. (line 176)
-* architectures available: objdump. (line 161)
+* ar compatibility: ar. (line 50)
+* architecture: objdump. (line 195)
+* architectures available: objdump. (line 180)
* archive contents: ranlib. (line 6)
-* archive headers: objdump. (line 60)
+* Archive file symbol index information: readelf. (line 147)
+* archive headers: objdump. (line 65)
* archives: ar. (line 6)
-* base files: dlltool. (line 108)
+* base files: dlltool. (line 123)
* bug criteria: Bug Criteria. (line 6)
* bug reports: Bug Reporting. (line 6)
* bugs: Reporting Bugs. (line 6)
* bugs, reporting: Bug Reporting. (line 6)
* c++filt: c++filt. (line 6)
-* changing object addresses: objcopy. (line 275)
-* changing section address: objcopy. (line 285)
-* changing section LMA: objcopy. (line 293)
-* changing section VMA: objcopy. (line 306)
-* changing start address: objcopy. (line 270)
+* changing object addresses: objcopy. (line 282)
+* changing section address: objcopy. (line 292)
+* changing section LMA: objcopy. (line 300)
+* changing section VMA: objcopy. (line 313)
+* changing start address: objcopy. (line 277)
* collections of files: ar. (line 6)
-* compatibility, ar: ar. (line 40)
+* compatibility, ar: ar. (line 50)
* contents of archive: ar cmdline. (line 88)
* crash: Bug Criteria. (line 9)
-* creating archives: ar cmdline. (line 127)
+* creating archives: ar cmdline. (line 129)
+* creating thin archive: ar cmdline. (line 190)
* cxxfilt: c++filt. (line 14)
-* dates in archive: ar cmdline. (line 154)
-* debug symbols: objdump. (line 319)
-* debugging symbols: nm. (line 116)
+* dates in archive: ar cmdline. (line 164)
+* debug symbols: objdump. (line 370)
+* debugging symbols: nm. (line 141)
* deleting from archive: ar cmdline. (line 26)
* demangling C++ symbols: c++filt. (line 6)
-* demangling in nm: nm. (line 124)
+* demangling in nm: nm. (line 149)
* demangling in objdump <1>: addr2line. (line 55)
-* demangling in objdump: objdump. (line 88)
-* disassembling object code: objdump. (line 110)
-* disassembly architecture: objdump. (line 176)
-* disassembly endianness: objdump. (line 126)
-* disassembly, with source: objdump. (line 305)
+* demangling in objdump: objdump. (line 93)
+* deterministic archives: ar cmdline. (line 135)
+* disassembling object code: objdump. (line 115)
+* disassembly architecture: objdump. (line 195)
+* disassembly endianness: objdump. (line 135)
+* disassembly, with source: objdump. (line 337)
* discarding symbols: strip. (line 6)
* DLL: dlltool. (line 6)
* dlltool: dlltool. (line 6)
-* DWARF: objdump. (line 319)
-* dynamic relocation entries, in object file: objdump. (line 294)
-* dynamic symbol table entries, printing: objdump. (line 348)
-* dynamic symbols: nm. (line 136)
-* ELF dynamic section information: readelf. (line 102)
-* ELF file header information: readelf. (line 51)
+* DWARF: objdump. (line 363)
+* dynamic relocation entries, in object file: objdump. (line 325)
+* dynamic symbol table entries, printing: objdump. (line 473)
+* dynamic symbols: nm. (line 161)
+* ELF dynamic section information: readelf. (line 105)
+* ELF file header information: readelf. (line 54)
* ELF file information: readelf. (line 6)
-* ELF notes: readelf. (line 87)
-* ELF object file format: objdump. (line 324)
-* ELF program header information: readelf. (line 57)
-* ELF reloc information: readelf. (line 91)
-* ELF section group information: readelf. (line 68)
-* ELF section information: readelf. (line 63)
-* ELF segment information: readelf. (line 57)
-* ELF symbol table information: readelf. (line 78)
-* ELF version sections informations: readelf. (line 106)
-* endianness: objdump. (line 126)
+* ELF notes: readelf. (line 90)
+* ELF object file format: objdump. (line 370)
+* ELF program header information: readelf. (line 60)
+* ELF reloc information: readelf. (line 94)
+* ELF section group information: readelf. (line 71)
+* ELF section information: readelf. (line 66)
+* ELF segment information: readelf. (line 60)
+* ELF symbol table information: readelf. (line 81)
+* ELF version sections informations: readelf. (line 109)
+* endianness: objdump. (line 135)
* error on valid input: Bug Criteria. (line 12)
-* external symbols: nm. (line 148)
+* external symbols: nm. (line 253)
* extract from archive: ar cmdline. (line 103)
* fatal signal: Bug Criteria. (line 9)
-* file name: nm. (line 110)
-* header information, all: objdump. (line 364)
-* input .def file: dlltool. (line 104)
-* input file name: nm. (line 110)
+* file name: nm. (line 135)
+* header information, all: objdump. (line 489)
+* input .def file: dlltool. (line 119)
+* input file name: nm. (line 135)
+* Instruction width: objdump. (line 358)
* libraries: ar. (line 25)
* listings strings: strings. (line 6)
-* machine instructions: objdump. (line 110)
+* load plugin: nm. (line 176)
+* machine instructions: objdump. (line 115)
* moving in archive: ar cmdline. (line 34)
* MRI compatibility, ar: ar scripts. (line 8)
* name duplication in archive: ar cmdline. (line 97)
* name length: ar. (line 18)
* nm: nm. (line 6)
-* nm compatibility: nm. (line 120)
-* nm format: nm. (line 120)
-* not writing archive index: ar cmdline. (line 173)
+* nm compatibility: nm. (line 167)
+* nm format: nm. (line 145)
+* not writing archive index: ar cmdline. (line 183)
* objdump: objdump. (line 6)
* object code format <1>: addr2line. (line 50)
-* object code format <2>: strings. (line 66)
-* object code format <3>: size. (line 84)
-* object code format <4>: objdump. (line 74)
-* object code format: nm. (line 212)
-* object file header: objdump. (line 132)
+* object code format <2>: strings. (line 67)
+* object code format <3>: objdump. (line 79)
+* object code format <4>: size. (line 84)
+* object code format: nm. (line 244)
+* object file header: objdump. (line 141)
* object file information: objdump. (line 6)
-* object file sections: objdump. (line 300)
-* object formats available: objdump. (line 161)
+* object file offsets: objdump. (line 146)
+* object file sections: objdump. (line 332)
+* object formats available: objdump. (line 180)
* operations on archive: ar cmdline. (line 22)
* printing from archive: ar cmdline. (line 46)
* printing strings: strings. (line 6)
* radix for section sizes: size. (line 66)
* ranlib: ranlib. (line 6)
* readelf: readelf. (line 6)
-* relative placement in archive: ar cmdline. (line 115)
-* relocation entries, in object file: objdump. (line 288)
+* relative placement in archive: ar cmdline. (line 117)
+* relocation entries, in object file: objdump. (line 319)
* removing symbols: strip. (line 6)
* repeated names in archive: ar cmdline. (line 97)
* replacement in archive: ar cmdline. (line 70)
* reporting bugs: Reporting Bugs. (line 6)
* scripts, ar: ar scripts. (line 8)
-* section addresses in objdump: objdump. (line 66)
-* section headers: objdump. (line 143)
-* section information: objdump. (line 166)
+* section addresses in objdump: objdump. (line 71)
+* section headers: objdump. (line 162)
+* section information: objdump. (line 185)
* section sizes: size. (line 6)
-* sections, full contents: objdump. (line 300)
+* sections, full contents: objdump. (line 332)
* size: size. (line 6)
* size display format: size. (line 27)
* size number format: size. (line 66)
-* sorting symbols: nm. (line 167)
-* source code context: objdump. (line 136)
-* source disassembly: objdump. (line 305)
-* source file name: nm. (line 110)
-* source filenames for object files: objdump. (line 170)
-* stab: objdump. (line 324)
-* start-address: objdump. (line 334)
-* stop-address: objdump. (line 338)
+* sorting symbols: nm. (line 197)
+* source code context: objdump. (line 155)
+* source disassembly: objdump. (line 337)
+* source file name: nm. (line 135)
+* source filenames for object files: objdump. (line 189)
+* stab: objdump. (line 370)
+* start-address: objdump. (line 380)
+* stop-address: objdump. (line 384)
* strings: strings. (line 6)
* strings, printing: strings. (line 6)
* strip: strip. (line 6)
+* Strip absolute paths: objdump. (line 344)
* symbol index <1>: ranlib. (line 6)
* symbol index: ar. (line 28)
-* symbol index, listing: nm. (line 182)
-* symbol line numbers: nm. (line 152)
-* symbol table entries, printing: objdump. (line 343)
+* symbol index, listing: nm. (line 214)
+* symbol line numbers: nm. (line 182)
+* symbol table entries, printing: objdump. (line 389)
* symbols: nm. (line 6)
* symbols, discarding: strip. (line 6)
-* undefined symbols: nm. (line 217)
+* thin archives: ar. (line 40)
+* undefined symbols: nm. (line 249)
* Unix compatibility, ar: ar cmdline. (line 8)
-* unwind information: readelf. (line 96)
-* updating an archive: ar cmdline. (line 180)
+* unwind information: readelf. (line 99)
+* updating an archive: ar cmdline. (line 195)
* version: Top. (line 6)
-* VMA in objdump: objdump. (line 66)
-* wide output, printing: objdump. (line 370)
-* writing archive index: ar cmdline. (line 167)
+* VMA in objdump: objdump. (line 71)
+* wide output, printing: objdump. (line 495)
+* writing archive index: ar cmdline. (line 177)
\1f
Tag Table:
-Node: Top\7f1785
-Node: ar\7f3412
-Node: ar cmdline\7f5590
-Node: ar scripts\7f13733
-Node: nm\7f19421
-Node: objcopy\7f27616
-Node: objdump\7f53142
-Node: ranlib\7f68108
-Node: size\7f68863
-Node: strings\7f71868
-Node: strip\7f74246
-Node: c++filt\7f80196
-Ref: c++filt-Footnote-1\7f85120
-Node: addr2line\7f85226
-Node: nlmconv\7f88497
-Node: windmc\7f91103
-Node: windres\7f94824
-Node: dlltool\7f100851
-Node: def file format\7f111688
-Node: readelf\7f113426
-Node: Common Options\7f118133
-Node: Selecting The Target System\7f119173
-Node: Target Selection\7f120105
-Node: Architecture Selection\7f122087
-Node: Reporting Bugs\7f122915
-Node: Bug Criteria\7f123694
-Node: Bug Reporting\7f124247
-Node: GNU Free Documentation License\7f131117
-Node: Binutils Index\7f150858
+Node: Top\7f1929
+Node: ar\7f3572
+Node: ar cmdline\7f6377
+Node: ar scripts\7f15420
+Node: nm\7f21108
+Node: objcopy\7f30582
+Node: objdump\7f58823
+Node: ranlib\7f79295
+Node: size\7f80116
+Node: strings\7f83121
+Node: strip\7f85579
+Node: c++filt\7f91530
+Ref: c++filt-Footnote-1\7f96375
+Node: addr2line\7f96481
+Node: nlmconv\7f99752
+Node: windmc\7f102358
+Node: windres\7f106005
+Node: dlltool\7f112032
+Node: def file format\7f124716
+Node: readelf\7f126454
+Node: Common Options\7f132460
+Node: Selecting the Target System\7f133500
+Node: Target Selection\7f134432
+Node: Architecture Selection\7f136414
+Node: Reporting Bugs\7f137242
+Node: Bug Criteria\7f138021
+Node: Bug Reporting\7f138574
+Node: GNU Free Documentation License\7f145444
+Node: Binutils Index\7f170623
\1f
End Tag Table