X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fdoc%2Fbinutils.texi;h=38bf37d304668595c2ff00ea60e6d6a39910e4b1;hb=128e85e3ab36b8e30f6612fb50de3cbb4ede6824;hp=d3285a5ead8b195ace020fdd3889218b00e1f75e;hpb=5bbdf3d565cb8fe67357238efe24929209da4f21;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index d3285a5ead..38bf37d304 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -10,9 +10,7 @@ @copying @c man begin COPYRIGHT -Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -Free Software Foundation, Inc. +Copyright @copyright{} 1991-2016 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.3 @@ -130,7 +128,7 @@ Convert object code into a Netware Loadable Module Manipulate Windows resources @item windmc -Genertor for Windows message resources +Generator for Windows message resources @item dlltool Create the files needed to build and use Dynamic Link Libraries @@ -147,18 +145,18 @@ in the section entitled ``GNU Free Documentation License''. * objcopy:: Copy and translate object files * objdump:: Display information from object files * ranlib:: Generate index to archive contents -* readelf:: Display the contents of ELF format files * size:: List section sizes and total size * strings:: List printable strings from files * strip:: Discard symbols -* elfedit:: Update the ELF header of ELF files * c++filt:: Filter to demangle encoded C++ symbols * cxxfilt: c++filt. MS-DOS name for c++filt * addr2line:: Convert addresses to file and line * nlmconv:: Converts object code into an NLM -* windres:: Manipulate Windows resources * windmc:: Generator for Windows message resources +* windres:: Manipulate Windows resources * dlltool:: Create files needed to build and use DLLs +* readelf:: Display the contents of ELF format files +* elfedit:: Update the ELF header of ELF files * Common Options:: Command-line options for all utilities * Selecting the Target System:: How these utilities determine the target * Reporting Bugs:: Reporting Bugs @@ -176,7 +174,7 @@ in the section entitled ``GNU Free Documentation License''. @c man title ar create, modify, and extract from archives @smallexample -ar [@option{--plugin} @var{name}] [-]@var{p}[@var{mod} [@var{relpos}] [@var{count}]] @var{archive} [@var{member}@dots{}] +ar [-]@var{p}[@var{mod}] [@option{--plugin} @var{name}] [@option{--target} @var{bfdname}] [@var{relpos}] [@var{count}] @var{archive} [@var{member}@dots{}] ar -M [ }. These numbers are -called ordinal numbers and they represent another way of accessing the -function in a DLL, other than by name. +Specifies that @samp{@@} suffixes should be omitted from the names +of stdcall functions that will be imported from the DLL. This is +useful when creating an import library for a DLL which exports stdcall +functions but without the usual @samp{@@} symbol name suffix. + +This does not change the naming of symbols provided by the import library +to programs linked against it, but only the entries in the import table +(ie the .idata section). @item -A @itemx --add-stdcall-alias @@ -3875,6 +4445,9 @@ The result is going to be named @var{name}@code{.exe}. @item @code{LIBRARY} @var{name} @code{[ ,} @var{base} @code{]} The result is going to be named @var{name}@code{.dll}. +Note: If you want to use LIBRARY as name then you need to quote. Otherwise +this will fail due a necessary hack for libtool (see PR binutils/13710 for more +details). @item @code{EXPORTS ( ( (} @var{name1} @code{[ = } @var{name2} @code{] ) | ( } @var{name1} @code{=} @var{module-name} @code{.} @var{external-name} @code{) ) [ == } @var{its_name} @code{]} @item @code{[} @var{integer} @code{] [ NONAME ] [ CONSTANT ] [ DATA ] [ PRIVATE ] ) *} @@ -3883,6 +4456,9 @@ ordinal number @var{integer}, or declares @var{name1} as an alias (forward) of the function @var{external-name} in the DLL. If @var{its_name} is specified, this name is used as string in export table. @var{module-name}. +Note: The @code{EXPORTS} has to be the last command in .def file, as keywords +are treated - beside @code{LIBRARY} - as simple name-identifiers. +If you want to use LIBRARY as name then you need to quote it. @item @code{IMPORTS ( (} @var{internal-name} @code{=} @var{module-name} @code{.} @var{integer} @code{) | [} @var{internal-name} @code{= ]} @var{module-name} @code{.} @var{external-name} @code{) [ == ) @var{its_name} @code{]} *} Declares that @var{external-name} or the exported function whose @@ -3891,6 +4467,9 @@ ordinal number is @var{integer} is to be imported from the file the name that the imported function will be referred to in the body of the DLL. If @var{its_name} is specified, this name is used as string in import table. +Note: The @code{IMPORTS} has to be the last command in .def file, as keywords +are treated - beside @code{LIBRARY} - as simple name-identifiers. +If you want to use LIBRARY as name then you need to quote it. @item @code{DESCRIPTION} @var{string} Puts @var{string} into the output @file{.exp} file in the @@ -3947,9 +4526,12 @@ readelf [@option{-a}|@option{--all}] [@option{-x} |@option{--hex-dump=}] [@option{-p} |@option{--string-dump=}] [@option{-R} |@option{--relocated-dump=}] + [@option{-z}|@option{--decompress}] [@option{-c}|@option{--archive-index}] [@option{-w[lLiaprmfFsoRt]}| @option{--debug-dump}[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=frames-interp,=str,=loc,=Ranges,=pubtypes,=trace_info,=trace_abbrev,=trace_aranges,=gdb_index]] + [@option{--dwarf-depth=@var{n}}] + [@option{--dwarf-start=@var{n}}] [@option{-I}|@option{--histogram}] [@option{-v}|@option{--version}] [@option{-W}|@option{--wide}] @@ -4024,11 +4606,19 @@ Displays the detailed section information. Implies @option{-S}. @itemx --syms @cindex ELF symbol table information Displays the entries in symbol table section of the file, if it has one. +If a symbol has version information associated with it then this is +displayed as well. The version string is displayed as a suffix to the +symbol name, preceeded by an @@ character. For example +@samp{foo@@VER_1}. If the version is the default version to be used +when resolving unversioned references to the symbol then it is +displayed as a suffix preceeded by two @@ characters. For example +@samp{foo@@@@VER_2}. @item --dyn-syms @cindex ELF dynamic symbol table information Displays the entries in dynamic symbol table section of the file, if it -has one. +has one. The output format is the same as the format used by the +@option{--syms} option. @item -e @itemx --headers @@ -4058,7 +4648,7 @@ Displays the contents of the file's dynamic section, if it has one. @item -V @itemx --version-info -@cindex ELF version sections informations +@cindex ELF version sections information Displays the contents of the version sections in the file, it they exist. @@ -4093,10 +4683,16 @@ 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. +@item -z +@itemx --decompress +Requests that the section(s) being dumped by @option{x}, @option{R} or +@option{p} options are decompressed before being displayed. If the +section(s) are not compressed then they are displayed as is. + @item -c @itemx --archive-index @cindex Archive file symbol index information -Displays the file symbol index infomation contained in the header part +Displays the file symbol index information contained in the header part of binary archives. Performs the same function as the @option{t} command to @command{ar}, but without using the BFD library. @xref{ar}. @@ -4117,6 +4713,28 @@ Note: the @option{=frames-interp} option will display the interpreted contents of a .debug_frame section whereas the @option{=frames} option dumps the contents in a raw format. +Note: the output from the @option{=info} option can also be affected +by the options @option{--dwarf-depth} and @option{--dwarf-start}. + +@item --dwarf-depth=@var{n} +Limit the dump of the @code{.debug_info} section to @var{n} children. +This is only useful with @option{--debug-dump=info}. The default is +to print all DIEs; the special value 0 for @var{n} will also have this +effect. + +With a non-zero value for @var{n}, DIEs at or deeper than @var{n} +levels will not be printed. The range for @var{n} is zero-based. + +@item --dwarf-start=@var{n} +Print only DIEs beginning with the DIE numbered @var{n}. This is only +useful with @option{--debug-dump=info}. + +If specified, this option will suppress printing of any header +information and all DIEs before the DIE numbered @var{n}. Only +siblings and children of the specified DIE will be printed. + +This can be used in conjunction with @option{--dwarf-depth}. + @item -I @itemx --histogram Display a histogram of bucket list lengths when displaying the contents @@ -4160,10 +4778,10 @@ objdump(1), and the Info entries for @file{binutils}. @c man begin SYNOPSIS elfedit elfedit [@option{--input-mach=}@var{machine}] [@option{--input-type=}@var{type}] - [@option{--input-osabi=}@var{osbi}] + [@option{--input-osabi=}@var{osabi}] @option{--output-mach=}@var{machine} @option{--output-type=}@var{type} - @option{--output-osabi=}@var{osbi} + @option{--output-osabi=}@var{osabi} [@option{-v}|@option{--version}] [@option{-h}|@option{--help}] @var{elffile}@dots{} @@ -4188,38 +4806,40 @@ equivalent. At least one of the @option{--output-mach}, @table @env -@itemx --input-mach=@var{machine} +@item --input-mach=@var{machine} Set the matching input ELF machine type to @var{machine}. If @option{--input-mach} isn't specified, it will match any ELF machine types. -The supported ELF machine types are, @var{L1OM} and @var{x86-64}. +The supported ELF machine types are, @var{i386}, @var{IAMCU}, @var{L1OM}, +@var{K1OM} and @var{x86-64}. -@itemx --output-mach=@var{machine} +@item --output-mach=@var{machine} Change the ELF machine type in the ELF header to @var{machine}. The supported ELF machine types are the same as @option{--input-mach}. -@itemx --input-type=@var{type} +@item --input-type=@var{type} Set the matching input ELF file type to @var{type}. If @option{--input-type} isn't specified, it will match any ELF file types. The supported ELF file types are, @var{rel}, @var{exec} and @var{dyn}. -@itemx --output-type=@var{type} +@item --output-type=@var{type} Change the ELF file type in the ELF header to @var{type}. The supported ELF types are the same as @option{--input-type}. -@itemx --input-osabi=@var{osabi} -Set the matching input ELF file OSABI to @var{osbi}. If +@item --input-osabi=@var{osabi} +Set the matching input ELF file OSABI to @var{osabi}. If @option{--input-osabi} isn't specified, it will match any ELF OSABIs. The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD}, -@var{Linux}, @var{Hurd}, @var{Solaris}, @var{AIX}, @var{Irix}, +@var{GNU}, @var{Linux} (alias for @var{GNU}), +@var{Solaris}, @var{AIX}, @var{Irix}, @var{FreeBSD}, @var{TRU64}, @var{Modesto}, @var{OpenBSD}, @var{OpenVMS}, @var{NSK}, @var{AROS} and @var{FenixOS}. -@itemx --output-osabi=@var{osabi} -Change the ELF OSABI in the ELF header to @var{type}. The +@item --output-osabi=@var{osabi} +Change the ELF OSABI in the ELF header to @var{osabi}. The supported ELF OSABI are the same as @option{--input-osabi}. @item -v @@ -4619,7 +5239,7 @@ things without first using the debugger to find the facts. @node GNU Free Documentation License @appendix GNU Free Documentation License - + @include fdl.texi @node Binutils Index